| name | nextjs-turbopack |
| description | Next.js 16+ 및 Turbopack — 증분 번들링, 파일 시스템 캐싱, 개발 속도 및 Turbopack 대 webpack 사용 시기. |
| origin | ECC |
Next.js와 Turbopack
Next.js 16+는 로컬 개발을 위해 Turbopack을 기본으로 사용합니다. Turbopack은 Rust로 작성된 증분 번들러로, 개발 서버 시작 및 핫 업데이트 속도를 대폭 향상시킵니다.
사용 시점
- Turbopack (기본 개발 모드): 일상적인 개발에 사용하세요. 특히 대규모 앱에서 콜드 스타트와 HMR(Hot Module Replacement) 속도가 빠릅니다.
- Webpack (기존 개발 모드): Turbopack 버그가 발생하거나 개발 환경에서 webpack 전용 플러그인에 의존해야 하는 경우에만 사용하세요.
--webpack (또는 Next.js 버전에 따라 --no-turbopack) 플래그로 비활성화할 수 있습니다.
- 프로덕션 (Production): 프로덕션 빌드 동작(
next build)은 Next.js 버전에 따라 Turbopack 또는 webpack을 사용할 수 있습니다. 해당 릴리스의 공식 Next.js 문서를 확인하세요.
사용 시기: Next.js 16+ 앱 개발 또는 디버깅 시, 느린 개발 서버 시작이나 HMR 문제 진단 시, 또는 프로덕션 번들 최적화 시.
작동 방식
- Turbopack: Next.js 개발 환경을 위한 증분 번들러입니다. 파일 시스템 캐싱을 사용하여 재시작 속도가 훨씬 빠릅니다 (대규모 프로젝트에서 5~14배 향상).
- 개발 환경 기본값: Next.js 16부터
next dev는 비활성화하지 않는 한 Turbopack으로 실행됩니다.
- 파일 시스템 캐싱: 재시작 시 이전 작업을 재사용합니다. 캐시는 보통
.next 아래에 위치하며, 기본 사용에는 추가 설정이 필요 없습니다.
- 번들 분석기 (Next.js 16.1+): 출력을 검사하고 무거운 종속성을 찾기 위한 실험적 번들 분석기입니다. 설정이나 실험적 플래그를 통해 활성화할 수 있습니다 (사용 중인 버전의 문서를 확인하세요).
예시
명령어
next dev
next build
next start
사용법
로컬 개발을 위해 next dev를 실행하여 Turbopack을 활용하세요. 번들 분석기를 사용하여 코드 분할을 최적화하고 큰 종속성을 줄이세요. 가능한 경우 App Router와 서버 컴포넌트를 우선적으로 사용하세요.
모범 사례
- 안정적인 Turbopack 및 캐싱 동작을 위해 최신 Next.js 16.x 버전을 유지하세요.
- 개발 서버가 느리다면 Turbopack(기본값)이 사용 중인지, 그리고 캐시가 불필요하게 삭제되고 있지 않은지 확인하세요.
- 프로덕션 번들 크기 문제의 경우, 해당 버전에 맞는 공식 Next.js 번들 분석 도구를 사용하세요.