다이나믹임포트 [ node.js 교과서 ]
2023. 4. 10. 15:49ㆍnode.js
본 게시글은 node.js 교과서 강의를 듣고 정리한 글입니다.
- CommonJS 모듈에서는 다이나믹 임포트(동적불러오기) 가 되는데 ES 모듈에서는 다이나믹 임포트가 안된다.
- if 문 안에 require 를 넣는 것을 말한다.
// dynamic.mjs
const a = true;
if (a) {
const m1 = await import("./func.mjs");
console.log(m1);
const m2 = await import("./var.mjs");
console.log(m2);
}
[Module: null prototype] { default: [Function: checkOddOrEven] }
[Module: null prototype] { even: '짝수입니다.', odd: '홀수입니다.' }
- import 라는 함수를 사용해서 모듈을 동적으로 불러올 수 있다.
- import 는 Promise 를 반환하기에 await 이나 then 을 붙여야 한다.
- 위에도 async 함수를 사용하지 않았는데 ES 모듈의 최상위 스코프에서는 async 함수 없이도 await 할 수 있다. ( CommonJS 모듈은 안됨)
- export default 의 경우 import 할 때도 default 라는 속성이 이름으로 import 된다.
- CommonJS 모듈에서 module.exports 한 것도 default 라는 이름으로 import 된다.
'node.js' 카테고리의 다른 글
노드 내장 객체 : global [ node.js 교과서 ] (0) | 2023.04.10 |
---|---|
__filename, __dirname [ node.js 교과서 ] (0) | 2023.04.10 |
ECMAScript 모듈 [ node.js 교과서 ] (0) | 2023.04.10 |
캐싱 , require, 순환참조 [ node.js 교과서 ] (0) | 2023.04.10 |
this [ node.js 교과서 ] (0) | 2023.04.10 |