(캬 라인업)
웹 애플리케이션의 번들링 프로세스는 크게 4단계로 이루어져 있습니다.
과정을 단계별로 자세히 살펴보겠습니다.
번들러는 가장 먼저 프로젝트의 시작점, 즉 엔트리 포인트를 찾아 분석을 시작합니다. Vue.js 프로젝트를 예로 들면, 일반적으로 main.js 파일이 이 역할을 합니다. 이 파일에서부터 시작하여 번들러는 연결된 모든 의존성을 추적합니다.
이 과정에서 번들러는 '의존성 그래프'라는 것을 생성합니다. 이 그래프를 통해 번들러는 어떤 모듈이 어떤 모듈을 필요로 하는지 정확히 파악할 수 있습니다.
의존성 파악이 끝나면, 번들러는 각 파일을 웹 브라우저가 이해할 수 있는 형태로 변환합니다. 이 과정에서 '로더'라는 도구들이 사용됩니다. 예를 들면
변환된 파일들은 이제 하나 또는 여러 개의 번들로 묶이게 됩니다. 이 과정에서 몇 가지 중요한 최적화가 이루어집니다:
코드 분할의 예시로는 라우트 설정을 예로 들 수 있습니다.
const routes = [
{
path: '/about',
component: () => import('./views/About.vue') // 동적 임포트
}
]
마지막으로, 처리된 모든 파일들이 배포 가능한 형태로 출력됩니다. 일반적으로 dist 또는 build 디렉토리에 다음과 같은 파일들이 생성됩니다:
이러한 번들링 프로세스는 단순히 파일을 합치는 것 이상의 의미를 가집니다. 최적화된 번들링 프로세스는:
이러한 이유로, 번들링 프로세스를 이해하고 최적화하는 것은 현대 웹 개발에서 매우 중요한 부분을 차지하고 있습니다.