# module
# export, import
# es6 모듈
export, import
es6모듈의 import 키워드와 webpack, parcel같은 번들러의 dynamic import 메소드를 구분하자.
# nodejs 모듈
commonJS와 거의 동일하지만 자체적인 모듈을 사용
module.exports
require()
# export와 코드의 실행순서
constants들을 따로따로 구분지어서 작성해놓았을때, 서로 import해야하는 상황이 온다.
그럴때 import를 해도 undefined가 나오는경우가 간혹있는데,
당연히 실행순서에 문제가 있기때문이다.
console.log("1");
export * from "./someConstants";
// someConstants.js
console.log("2");
콘솔에는 1 2 어떤 것이 나올지 헷갈릴수있는데, 2 1로 나온다.
export 하는시점에 값을 추출해온다.
# import * as {Alias}, import {Alias} 차이
// a.js
export const a = 1;
export const b = 2;
export default 3;
import A from "./a";
import * as B from "./a";
console.log(A); //3
console.log(B); //Module {a:1, b:2, default:3, ...}