Notice
Recent Posts
Recent Comments
Link
On a couch
[Javascript] module 동적 import 본문
레퍼런스
Speed Up Your React Apps With Code Splitting
설명 / 정의
대부분의 경우에는 파일 상단에 필요한 모듈들을 static하게 import하는 것이 일반적이지만, 때때로 이를 필요에 따라 조건부로 불러올 수도 있다. dynamic import라고 불리며, 이는 ES2020(ES11)에 포함된 기능이다.
// test.js
export const sum = (a, b) => a + b
// 상단에서 정적으로 import 하는 경우
import { sum } from './test'
// 하단에서 동적으로 import 하는 경우
const sum = await import('./test')
// default와 그 외 함수들이 섞여 있는 경우
const { default: sum, sum1, sum2 } = await import('./test')
await import는 프로미스를 리턴하고 이 때부터 동적으로 모듈을 불러오기 시작한다. 그리고 모듈을 성공적으로 불러오면, promise는 모듈을 resolve하거나 실패할 경우 reject 하게 된다.
추가 정보
await 없이 정석적인 방식으로 import 해온 결과물(promise 객체)을 다룬다면 이런 방식이 될 것이다.
// test.js
export condst sum = (a, b) => a + b
exoprt default mul = (a, b) => a * b
// 동적으로 import 하는 경우
const sum = import('./test').then(module => {
module.sum
}
const sum = import('./test').then(module => {
module.default
}
const sumOfTwoAndTwo = import('./test').then(module => {
module.sum(2, 2)
}
'프론트엔드 공부 > React' 카테고리의 다른 글
[Redux-toolkit] slice 동적으로 추가하기 (0) | 2023.02.20 |
---|---|
[React] Lazy와 Suspense를 이용한 코드 분할 (0) | 2023.02.19 |