반응형

 

node.js에서 모듈을 쓰는 방법

 

node.js는 CommonJS기반 모듈 시스템을 사용하기 때문에 ES6의 import/export 키워드를 지원하지 않습니다.

대신에 require/exports를 사용해서 같은 기능을 수행합니다.

 

그런데 클라이언트단 코드를 javascript ES6를 사용하고 import/export 키워드를 사용하면서 서버단 코드를 node.js를 이용하고 있다면 node.js도 import/export 키워드로 통일해서 사용하고 싶다는 욕구가 마구마구 생깁니다. (뭐 안 생기면 그냥 놔두시면 됩니다.... 사실 막상 하고 나면 굳이 이렇게까지 해야 하나 싶기도 합니다.)

그래서 node.js에서 import/export 키워드로 모듈을 사용하는 방법을 알아냈습니다.

 

 

babel을 이용해 node.js에서도 import/export 키워드를 사용하는 방법은 매우 간단합니다.

 

Javascript ES6을 쓴다면 아마 babel을 한번쯤은 써봤거나 들어본 적은 있을 것입니다.

babel은 ES6문법을 이전 버전의 문법으로 컴파일 시켜주는 모듈인데 이것을 이용하여 node.js에서도 import/export 키워드를 사용하는 방법이 있습니다. 이미 프로젝트에 babel을 사용하고 있다면 babel-node만 추가 설치하면 되고 babel이 설치되어 있지 않은 환경이라고 가정하면 다음 3가지 의존 모듈을 설치해주면 됩니다.

 

터미널에 다음과 같이 입력해서 설치해주세요.

npm i --save-dev @babel/core
npm i --save-dev @babel/preset-env
npm i --save-dev @babel/node

 

다음으로 .babelrc 파일에서 다음 코드를 추가해주세요.

{
    "presets": ["@babel/preset-env"]
}

 

node.js 프로젝트이면 package.json 파일이 있을 거고, 그 안에 서버를 실행시키는 스크립트가 있을 것입니다.

만약 아직 어떠한 모듈도 없다고 가정하면 터미널에 다음과 같이 입력하여 노드서버를 실행시킬 겁니다.

node 파일명.js

 

그래서 package.json 에서 스크립트는 다음과 같이 되어있겠죠. server.js는 임의로 이름을 지은 서버를 실행시키는 파일이라고 가정합니다.

 

"scripts": {
    "start": "node server.js"
},

 

이제 스크립트를 다음과 같이 바꿔줍니다.

 

<package.json>

{
  "scripts": {
    "start": "babel-node server.js"
  }
}

 

이제 node.js에서 import/export키워드를 사용할 수 있는 환경설정이 모두 완료되었습니다.

 

 

반응형

 

 

nodemon을 사용 중인 경우 package.json 설정 방법

 

보통 nodemon을 개발환경으로 많이 사용하기 때문에 nodemon을 사용하는 경우 package.json의 script 설정 방법을 소개하려 합니다. script부분을 다음과 같이 쓰면 됩니다.

{
  "scripts": {
    "start": "nodemon --exec babel-node server.js"
  }
}

 

nodemon을 짧게 소개하자면 nodemon은 서버 쪽 코드를 수정해도 서버를 껐다키지 않아도 자동적으로 반영되는 개발 모드를 지원합니다. node.js로 서버를 개발할 때 개발환경을 편리하게 만들기 위해 많이 사용하는 편입니다.

 

nodemon은 글로벌 설치를 해주면 됩니다.

npm i -g nodemon

 

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기