[javascript] Svelte에서 코드 분할은 어떻게 이루어지나요?
Svelte는 기본적으로 코드 분할을 지원하는 컴파일러를 제공하여 애플리케이션의 번들 크기를 최적화할 수 있습니다. 코드 분할은 애플리케이션을 더 작은 청크(chunk)로 나누는 것을 의미합니다. 이렇게 분할된 청크는 필요할 때 동적으로 로드될 수 있으므로, 초기 페이지 로드 시에 필요한 최소한의 코드만 전송하여 사용자 경험을 향상시킬 수 있습니다.
Svelte에서 코드 분할을 하려면 import()
함수를 사용하여 동적으로 모듈을 가져와야 합니다. import()
함수는 Promise를 반환하며, 해당 모듈이 로드되고 사용 가능해질 때까지 대기합니다.
예를 들어, 다음과 같이 동적으로 모듈을 로드할 수 있습니다.
import { onMount } from 'svelte';
onMount(async () => {
const module = await import('./heavyModule.js');
// 필요한 로직을 수행하거나 컴포넌트로 전달합니다.
});
위의 예제에서 ./heavyModule.js
파일은 애플리케이션이 처음 로드될 때 필요하지 않은 기능이 있는 큰 모듈이라고 가정합니다. 이 모듈은 import()
를 통해 동적으로 로드되므로, 초기 페이지 로드 시에는 필요하지 않습니다. 필요한 시점에 모듈을 로드하여 앱의 성능을 최적화할 수 있습니다.
더 자세한 내용은 Svelte 공식 문서를 참조하시기 바랍니다.