node.js 의 module import, export

jsx에서 module.exports=(module name)은 에러를 일으킵니다.
아마도 jsx와 js는 완전히 같은 언어가 아니기 때문에 jsx를 babel로 compile하지 않고 jsx를 node로 실행시키기 때문에 문제가 발생할 것입니다. webpack등 bundler를 이용해주세요

js에서의 module을 주고 받은 결과를 node에서 확인하는 경우

redux같은 상태관리 프로그램을 예로 들면

import

import {createStore} from 'redux'  // ❌
const {createStore} = require('redux'); // 👍

export

export {reducer} from './reducer'; // ❌ 당연하게도 import를 사용하지 못하니 export도 사용하지 못합니다.
module.exports={
  reducer, logIn, logOut,
} // 👍

왜 사용하지 못하나요? 🤔

node.js의 모듈 시스템은 CommonJS를 따르고 있습니다.
버전이 업데이트 되면서 import, export 구문을 지원하게 변경이 되었는데요.

확장자를 .js - > .mjs로 변경해주면 사용할 수 있습니다.
물론 코드에서도 mjs확장자임을 밝혀주어야 정상적으로 작동합니다.

사용하는 방법을 아주 잘 설명해준 블로그 주소

좋은 웹페이지 즐겨찾기