Vite의 핵심 기능 및 장점
Vite는 Vue.js 개발자 Evan You가 개발한 현대적인 프론트엔드 빌드 도구로, 개발 속도 극대화를 목표로 합니다. 기존 Webpack과 달리, 개발 시 네이티브 ES 모듈을 사용하여 파일을 직접 제공하며, Hot Module Replacement (HMR)를 통해 파일 변경 시 전체 페이지 재로드 없이 즉각적인 업데이트를 제공합니다. 이는 초고속 시작 시간과 개발 피드백을 보장합니다. Vite는 ESBuild 및 Rollup 기반으로 구축되었으며, 간단한 설정과 프레임워크 불가지론적 특성을 가집니다.
Vite를 선택한 배경
저희 팀은 11년 된 대규모 Rails 앱의 Webpack 재컴파일 문제(39초)를 해결해야 했습니다. 복잡한 레거시 JavaScript 코드베이스 환경에서 Vite의 다중 진입점 지원은 점진적인 전환을 가능하게 했습니다. Shakapacker나 jsbundling-rails 같은 대안들은 기존 Webpack 설정의 복잡성으로 인해 도입이 어려웠던 반면, Vite는 기본적인 테스트에서 완벽하게 작동하며 반나절 만에 실행에 성공하여 즉시 도입을 결정했습니다.
Rails 앱에 Vite 설정 가이드
Rails 7 이상 프로젝트에 Vite를 설치하는 주요 단계는 다음과 같습니다.
-
Gemfile에vite_rails젬 추가 및bundle install. -
bin/rails vite:install명령어로 필수 설정 파일 생성. -
bin/rails server와bin/vite dev를 동시에 실행하여 개발 서버 가동. -
Rails 레이아웃 파일에
vite_client_tag,vite_javascript_tag등의 Vite 헬퍼 적용. -
app/frontend/entrypoints/application.js에서 애플리케이션 모듈을 임포트하여 진입점 구성.vite_ruby및vite_rails는 Rails 7.x 및 8.x(Ruby >= 2.5) 버전에서 최적의 호환성을 제공합니다.