export
또는 import
가 있어야 module
이 되고, 나머지는 script
exports.a = 'a'
exports.b = 'b'
는 다른 파일에서 불러올 수 있다.
const { a, b } = require('./module1'); // ES2015 이전
module.exports = { hello: 'a' };
exports.hello = 'a';
commonJS에서 위 두 코드는 같다.
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'; // 또는 이것을 사용해야함