JavaScript 모듈시스템 - commonJS와 ES2015 export의 차이

BigbrotherShin·2020년 1월 27일
1

JavaScript

목록 보기
17/17
post-thumbnail

export 또는 import가 있어야 module이 되고, 나머지는 script

1. commonJS(node 모듈시스템)

exports.a = 'a'
exports.b = 'b'

는 다른 파일에서 불러올 수 있다.

const { a, b }  = require('./module1'); // ES2015 이전

참고

module.exports = { hello: 'a' };

exports.hello = 'a';

commonJS에서 위 두 코드는 같다.

2. ES2015

export const a = 'a'; // export { a };

export const b = 'b'; // export { b };


export default function() {
  
} // module.exports = function() {} 과는 다름

는 다른 파일에서 불러올 수 있다.

import { a, b } from './module2'; // ES2015 이후
import hi from './module2';

유의할 점

export = A; // 처럼
module.exports = function () {} // 만약 commonJS 형식일 경우

만일 ES2015의 export default function() {} 형식이 아닌,
commonJS의 module.exports = function() {} 형식인 경우에는

import hi from './module2'; // 사용하지 못함

import hi = require('./module2');// 이것
import * as hi from './module2'; // 또는 이것을 사용해야함
profile
JavaScript, Node.js 그리고 React를 배우는

0개의 댓글