기존 프로젝트는 Vue2와 내부적으로 Webpack을 사용하는 Vue CLI를 통해서 개발 및 프로덕션 빌드를 진행하고 있었습니다. 현재까지는 그 규모가 크지 않아 Vue CLI로 계속해서 개발해도 큰 문제가 있었던 것은 아닙니다만, Vue CLI가 유지보수 모드로 전환되면서 Vite기반으로 시작할 것을 권고하고 있으며 Vite를 통해 확실한 성능상의 이점과 설정에 대한 간편함 때문에 충분히 고려해볼만 했습니다.
왜 Vite가 좋을까?
기존 JavaScript 기반의 도구는 프로젝트 성장에 따라 점차적으로 성능 병목 현상이 나타나기 때문에, 개발서버를 가동하는데, HMR을 이용해 변경된 파일을 적용하는데에 시간이 점차 증가하게 됩니다. 그러나 Vite는 Webpack과 같이 HMR 등 부가적인 기능을 지원하는 것은 물론이고 그 속도가 월등히 빨라 탁월한 개발경험을 줄 수 있습니다.
Vite가 빠른이유들
- 브라우저에서 지원하는 ES Modules 및 네이티브 언어로 작성된 JavaScript 도구를 활용합니다.
- Dependencies 패키지들은 ESBuild로 빠르게 사전 번들링됩니다.
- Native ESM을 이용하기 때문에 개발중인 소스코드(변화가 빈번한)들은 브라우저에서 요청하면 수정된 모듈만 교체하여 전달만 하고, 브라우저가 번들러의 작업 일부를 하게 하기 때문에 앱 사이즈가 커져도 HMR을 포함한 갱신시간에 영향을 끼치지 않습니다.
- HTTP 헤더를 활용, 요청횟수를 최소화하여 페이지 로딩을 빠르게 만듭니다.
- 필요에 따라 소스코드는
304 Not Modified
로 제공 - 디펜던시는
Cache-Control: max-age=31536000,immutable
을 이용해 캐시
- 필요에 따라 소스코드는