본문 바로가기
Frontend2026년 5월 24일2분 읽기

Vite 6 + Rolldown — esbuild에서 Rust 번들러 전환 후기

YS
김영삼
조회 1248
Vite 6 + Rolldown — esbuild에서 Rust 번들러 전환 후기

핵심 요약

Vite 6에서 Rolldown(Rust 기반)이 기본 번들러 옵션. 사내 5개 SPA 전환 실측 — prod 빌드 4분 → 1분 38초, dev 시작 3.4s → 1.9s. 22개 플러그인 중 4개는 패치 필요. 사후 정리.

1. 옵트인

// vite.config.ts
export default defineConfig({
  experimental: { rolldown: true },
  // 또는 vite-rolldown 패키지 import
})

2. 실측

지표esbuild+RollupRolldown
dev 시작3.4s1.9s
prod 빌드(SPA, 1.4M LoC 포함)3m 58s1m 38s
treeshake 출력 크기1.42MB1.38MB
HMR 평균88ms42ms

3. 호환 — 패치 필요했던 4개

  • vite-plugin-pwa — assetsInclude 처리 다름, 0.20+ 필요
  • @vitejs/plugin-legacy — polyfill 주입 시점 달라짐
  • 커스텀 emit plugin — Rollup hook signature 차이
  • rollup-plugin-visualizer — output 형식 변경

4. 함정

  • dev와 prod 결과 미세 차이 — JSX 변환 옵션 다른 경우, vite.config의 esbuild 옵션 동기화
  • source map — Rolldown source map은 별도 binary, sentry-cli 0.32+에서 지원
  • CSS code splitting — Rolldown에서 splitting 기준 다름, chunk 수 증가 가능
  • node_modules 경로 — pnpm workspace의 symlink resolution 0.4 미만에서 미스

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록