Vite 8 sẽ ra mắt vào tháng 3 năm 2026 với một bundler dựa trên Rust mang tên Rolldown và một parser/minifier mới tên là Oxc, giúp cắt giảm thời gian build front-end lên gấp mười lần đối với nhiều dự án thực tế. Trong một bài kiểm tra trước đây mất 46 giây, cùng một đoạn mã đó giờ đây chỉ mất 6 giây để biên dịch, một sự thay đổi có thể tiết kiệm được nhiều phút cho mỗi ngày làm việc của lập trình viên.
Tại sao tốc độ lại quan trọng
Các nhóm front-end dành một phần đáng kể trong sprint của họ cho việc rebuild và hot-module replacement. Khi một lần build vốn chỉ mất nửa phút kéo dài lên đến một phút, các vòng lặp phản hồi (feedback loops) bị đình trệ và tốc độ bàn giao sản phẩm bị chậm lại. Việc giảm tốc độ gấp mười lần sẽ trực tiếp chuyển hóa thành khả năng lặp lại (iteration) nhanh hơn, kiểm thử chặt chẽ hơn và phát hành sớm hơn. Đối với các codebase lớn—hãy tưởng tượng hàng chục nghìn module—tổng thời gian tiết kiệm được có thể tính bằng hàng giờ mỗi tuần.
Có gì mới trong Vite 8
- Rolldown – một bundler được viết bằng Rust thay thế cho Rollup. Vì Rust biên dịch thành mã máy (native code), bước bundling sẽ chạy nhanh hơn nhiều so với các giải pháp thay thế dựa trên JavaScript.
- Oxc – một parser và minifier thay thế cho esbuild. Nó cũng được cung cấp dưới dạng binary gốc (native binary), giúp giảm thiểu chi phí xử lý (overhead) của việc parse JavaScript.
- Hỗ trợ TypeScript path gốc (Native) – không còn cần đến plugin bổ sung
vite-tsconfig-pathsnữa; chỉ cần thiết lậpresolve.tsconfigPaths: truetrong cấu hình là đủ. - Full Bundle Mode – các lập trình viên có thể chọn chế độ bundle kiểu production ngay khi đang chạy dev server. Chế độ này giúp giảm thời gian khởi động dev-server xuống gấp ba lần và giúp việc reload toàn bộ trang nhanh hơn khoảng 40%.
Tất cả các thành phần này đều nằm trên một toolchain Rust duy nhất, giúp thu hẹp khoảng cách giữa hành vi ở môi trường phát triển (development) và môi trường thực tế (production). Cùng một đầu ra biên dịch cung cấp sức mạnh cho dev server giờ đây sẽ phản chiếu chính xác bundle ở production, giúp giảm thiểu những bất ngờ kiểu “chạy tốt trên máy tôi”.
Cách nâng cấp
- Phiên bản Node – Vite 8 yêu cầu Node 20.0.0 trở lên.
- Gói Vite – chạy
npm install vite@latest @vitejs/plugin-react@latest. - Dọn dẹp plugin – loại bỏ
vite-tsconfig-paths; thay thế bằngresolve.tsconfigPaths: true. - Thay thế Babel –
@vitejs/plugin-reactđã được cập nhật hiện sử dụng Oxc, một giải pháp thay thế nhỏ hơn và nhanh hơn Babel.
Nếu bạn muốn sử dụng Full Bundle Mode, hãy thêm flag vào cấu hình dev của mình:
export default defineConfig({
dev: {
bundleMode: true,
},
});
Lớp tương thích của Rolldown phản chiếu hầu hết các tùy chọn của Rollup, vì vậy các tệp cấu hình hiện có thường sẽ không bị ảnh hưởng sau khi nâng cấp. Một bản build thành công sau các bước này là dấu hiệu cho thấy quá trình chuyển đổi đã hoàn tất.
Tác động đến các dự án lớn
Trong các monorepo hoặc các ứng dụng có thư viện bên thứ ba phong phú, dev server thường trở thành nút thắt cổ chai. Việc khởi động nhanh gấp ba lần của Full Bundle Mode có nghĩa là những người đóng góp mới có thể thiết lập môi trường local chỉ trong một phần nhỏ thời gian trước đây. Việc reload toàn bộ trang nhanh hơn 40% giúp vòng lặp “refresh-and-test” luôn được duy trì liên tục ngay cả khi một thay đổi tác động đến nhiều module.
Vì bundler và parser là các binary gốc, kích thước cài đặt ban đầu sẽ tăng lên so với stack hoàn toàn bằng JavaScript. Các CI runner bị giới hạn về dung lượng đĩa có thể cần tăng thêm một lượng nhỏ bộ nhớ lưu trữ được cấp phát. Ngoài ra, một số plugin Rollup chuyên biệt dựa trên các thành phần nội bộ của JavaScript có thể gặp phải các trường hợp không tương thích hiếm gặp, đòi hỏi phải kiểm tra nhanh sau khi nâng cấp.
Những điều cần theo dõi tiếp theo
- Công cụ cộng đồng – các tác giả plugin đang bắt đầu phát hành các phiên bản tương thích với Rust. Việc theo dõi hệ sinh thái sẽ giúp tránh được những bất ngờ không đáng có.
- Chỉ số hiệu suất – những người dùng sớm đang đăng tải các bộ benchmark. Việc so sánh các con số đó với repo của chính bạn sẽ xác nhận liệu mức tăng trưởng gấp 10 đến 30 lần như quảng cáo có thực sự áp dụng cho khối lượng công việc cụ thể của bạn hay không.
- Các bản phát hành Vite trong tương lai – đội ngũ phát triển đang gợi ý về việc tích hợp Rust sâu hơn ngoài việc bundling, điều này có thể thu hẹp hơn nữa khoảng cách giữa dev và prod.
Kết luận
Nhân lõi dựa trên Rust của Vite 8 mang lại sự gia tăng tốc độ rõ rệt, định hình lại nhịp độ làm việc hàng ngày của quá trình phát triển front-end. Đối với các nhóm đang phải vật lộn với việc rebuild chậm chạp, lộ trình nâng cấp rất đơn giản và hiệu quả hiệu suất mang lại là tức thì. Những đánh đổi—binary lớn hơn và việc kiểm tra plugin ngắn hạn—là không đáng kể so với thời gian tiết kiệm được trong mỗi lần build. Nếu thời gian build dự án của bạn vẫn còn gây cảm giác trì trệ, chuyển sang Vite 8 là một cách thực tế để loại bỏ sự cản trở đó khỏi quy trình làm việc.
