Backend

Node.js 시작, 세팅하기 | Express, ES6 문법 사용, nodemon 설치

경아 (KyungA) 2020. 10. 24. 19:45
반응형

저는 항상 Node.js 환경에서 개발을 시작하고 있습니다

항상 제 노트북에서 개발하다가 취업 후 회사 데스크톱으로 시작하려고하니...

제가 어떻게 node.js를 세팅 했는지 다 까먹은거죠...? 멍청이인가...

진짜로 저는 강의에서 시킨대로만 했던걸까.... 너무 바보스럽더라고요

그래서 이제 제가 아무 생각없이 따라하기만 했던 설정들을

하나하나 짚어가며 왜? 사용하는지? 에대해 알아보려고 합니다

 

 

 


 

 

Node.js 설치하기

nodejs.org/ko/download/ 사이트 접속 후, 본인 환경에 맞게 다운로드 하시면 됩니다

되도록이면 LTS 버전으로 다운받는걸 추천드립니다

제대로 설치가 되었다면 cmd 또는 터미널을 열어서 node -v 라고 치시면 버전이 뜰 겁니다

(node.js를 다운받으면 npm도 자동으로 설치됩니다 터미널에 npm -v 라고 치시면 버전이 뜹니다!)

 

 

 

프로젝트 초기화

프로젝트를 시작할 폴더를 만들었다면 npm 패키지로 지정을 해줘야합니다

(간단한 이해를 위해 디렉토리=폴더=패키지 이런 개념으로 생각하면 될듯하다...?)

cmd 또는 터미널에 npm init -y 이라고 치면 됩니다

그러면 위와 같은 내용의 package.json이 생성됩니다

 

 

 

원하는 모듈 생성하기

모듈이란? - 독립된 기능을 갖는 함수/파일들의 모임

Node.js에는 다양한 모듈들이 있습니다. 직접 작성해서 라이브러리화 시켜도 되고

(ES6 문법 import, export로 불러오고 저장할 수 있죠 babel다운을 안했다면 ES5 이하 문법으로 작성해야합니다)

외부 라이브러리를 다운받아 써도 됩니다! (npm install (nodule name) 식으로 다운)

저는 매우매우매우매우 유명한 Express 모듈을 사용해보려고 합니다.

Express란? - node.js로 서버를 개발할때 빠르게 개발할 수 있게해주는 프레임워크입니다. (node.js로 웹서버 개발시 http를 직접 작성해야할겁니다) 자바의 스프링, 파이썬의 장고와 비슷한 개념입니다

시작은 cmd 또는 터미널에 npm i express 라고 입력하시면 됩니다

그러면 node_modulespackage-lock.json 파일이 생성됩니다

 

 

 

Node.js에서 ES6 문법 사용하기

저는 Node.js를 인터넷 강의로 첫 입문했습니다. 거기서는 당연하게 ES6문법을 사용했고

그냥 하라는대로 다운받고... 했던 저는 혼자 진행하려니 import 가 안먹히는 겁니다

그래서 왜? 했더니 Node.js에서는 ES6 문법을 완벽히 지원하지 않더군요

Node.js는 common.js 방식을 따른다고 합니다. 그래서 예제, 자료들을 찾다보면 

module.exports / require 식의 자료를 많이 마주칠겁니다.

(저는 import, export로 하면 되지 저것들은 뭐지? 뭐가 다른가? 싶었는데 이거였습니다...)

쨌뜬 Node.js에서 ES6 문법을 사용하려면 babel을 다운받아야합니다!

  • npm i @babel/node : node.js 에서 babel을 사용할 수 있게 해줍니다
  • npm i @babel/core : transform과 관련한 기능들 제공합니다
  • npm i -D @babel/cli : 개발 의존성으로 바벨 커맨드 라인 도구입니다
  • npm i -D @babel/preset-env : 각 브라우저, 노드 환경에 맞게 코드를 변환시킵니다(플러그인 모음집)
  • npm i core-js@3 : @babel/polyfill을 개선한 것이라고 합니다..? (ES6 환경을 제공)

이제 .babelrc 파일을 직접 생성하여 babel 환경 설정을 해봅시다!

이렇게 작성해주면 된다! 저게 거의 기본값으로 적는다고 생각하면 되는 것 같습니다ㅎㅎ

(이렇게 설정하는 정확한 해석을 못하겠...)

그리고 package.json에 babel-node를 추가해주시면 됩니다!

 

 

 

nodemon 설치하기

nodemon 란? - node.js는 파일 수정시 실시간으로 반영이 되지 않아서 서버 종료 후 재시작 해줘야하는대요

그런 번거로운 일을 피할 수 있는 nodemon가 있답니다! 저장만하면 자동으로 재시작이 된답니다

cmd 또는 터미널에 npm i nodemon -g  입력해줍니다그리고 package.json에 아래와 같이 추가해줍니다

약간의 딜레이를 줘야하기 때문에 (안그럼 로컬 호스트에서 오류가 생깁니다) --delay 2 추가해줬습니다 (2초 정도 딜레이) 

--exec는 다른 프로그램을 실행하고 모니터링을 할 수 있는 옵션인가봅니다 (제대로 모루겠...)

 

 

 

이정도면 편-안하게 작업할 환경이 갖춰진 것 같습니다!

그럼 열심히 작업하러....🐣

반응형