尤雨溪最近宣布:Vite 8 将完全由 Rolldown 驱动,Beta 即将发布。
Rolldown 是一个用 Rust 开发的现代打包器,目标是取代 Vite 现有的 Rollup + esbuild 组合。它不仅保持了 Rollup 插件生态的兼容性,还凭借 Rust 的性能优势带来了数量级的加速。
性能
在社区分享的测试中,很多真实项目的构建速度出现了数量级的提升。例如:
- PayFit 前端工程师分享,他所在的项目从 2 分钟 的构建时间降到了 8 秒,提速接近 15 倍。尤雨溪同时也转发了该分享。
- 在 GitHub 的 rolldown-vite-perf-wins 仓库里,已经有多个团队上传了他们的“性能胜利”案例。数据普遍显示 3–16 倍 的提速,同时内存占用也大幅下降。
新特性
除了性能之外,Vite 8 + Rolldown 还带来了许多新的变化和能力:
-
统一的打包器架构
过去 Vite 在开发时依赖 esbuild,在生产时依赖 Rollup。Rolldown 的引入能统一开发与构建阶段的逻辑,减少工具之间的割裂,降低复杂性。 -
Importmaps 集成
通过支持浏览器原生的 importmaps,Vite 8 简化第三方库的导入,减少捆绑复杂性,提升运行时性能。 -
模块联邦支持
Vite 8 将通过 Rolldown 实现模块联邦,动态加载远程模块,类似 Webpack 的 Module Federation,但性能更高,适合微前端架构。 -
Full Bundle 模式
一种新的“全捆绑模式”,能让开发与生产的表现更接近,优化生产构建的模块合并和树摇效率,同时进一步减少模块请求开销。
如何试用
在 package.json 中将 vite 指向 rolldown-vite:
{
"dependencies": {
"vite": "npm:rolldown-vite@latest"
}
}
详细指南可参考 Vite 官网的 试用 Rolldown 教程。
相关链接
- rolldown-vite 官方库
- 官方 Rolldown 集成文档
- github 性能测试案例库 rolldown-vite-perf-wins