다이나믹 임포트
- CommonJS 모듈에서 사용됨
- 동적 불러오기, 조건부로 모듈을 불러오는 방식을 말함
dynamic.js
const a = false;
if(a){
require('./func');
}
console.log('성공');
여기서 a는 false기 때문에 require('./func');는 실행되지 않음.
이렇게 조건부로 모듈을 불러오는 것을 다이내믹 임포트라고함
mjs에서는 위의 방식으로는 불가능
mjs에서는 아래처럼
const a = true;
if(a){
const m1 = await import('./func.mjs');
console.log(m1);
const m2 = await import('./var.mjs');
console.log(m2);
}
mjs에서는
- import라는 함수를 사용하여 모듈을 동적으로 불러올 수 있음
- import는 Promise를 반환하기에 await나 then을 붙여야함
위 코드에서는 async (안시) 함수를 사용하지 않았는데, ES 모듈(mjs)의 최상단 스코프에서는 async 함수 없이도
await 할 수 있음.
단, CommonJS 모듈에서는 안됨!!
'Node' 카테고리의 다른 글
노드 내장 객체 process (0) | 2024.01.29 |
---|---|
노드 내장 객체(global, console, 타이머) (0) | 2024.01.28 |
MAP과 SET, WEAKMAP, WEAKSET (0) | 2024.01.24 |
for await(변수 of 프로미스 배열) (0) | 2024.01.24 |
async function (0) | 2024.01.24 |