더북(TheBook)

22.4 esm으로 ES 모듈 import/export 문법 사용하기

기존 리액트 프로젝트에서 사용해 오던 ES 모듈 import/export 문법은 Node.js에서 아직 정식으로 지원되지 않습니다. Node.js에 해당 기능이 구현되어 있기는 하지만 아직 실험적인 단계이기 때문에 기본 옵션으로는 사용할 수 없으며, 확장자를 .mjs로 사용하고 node를 실행할 때 --experimental-modules라는 옵션을 넣어 주어야 합니다.

Node.js에서 import/export 문법을 꼭 사용해야 할 필요는 없지만, 이 문법을 사용하면 VS Code에서 자동 완성을 통해 모듈을 자동으로 쉽게 불러올 수 있고 코드도 더욱 깔끔해집니다. 그래서 우리는 esm이라는 라이브러리의 도움을 받아 해당 문법을 사용해 보겠습니다.

노트 Node.js v12부터 ES Module 정식 지원

Node.js v12부터 ES Module 기능이 정식으로 지원됩니다. 이 책을 저술하는 시점(2019년 4월)에는 아직 Node.js v12가 LTS가 되지 않았지만 2019년 10월부터는 LTS가 됩니다.

Node.js v12를 사용할 경우, package.json에서 다음 줄을 추가하면 ES Module을 바로 사용할 수 있습니다.

  (...)
  "scripts": {
    "start": "node src",
    "start:dev": "nodemon --watch src/ src/index.js"
  },
  "type": "module"
}

 

그리고 하단에 main.js를 생성하는 내용이 나오는데, 그 부분을 생략하고 바로 22.4.1절로 넘어가면 됩니다. 그리고 이 책에서 main.js를 수정할 때 index.js를 수정하세요.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.