Vite 8 已发布 — 它彻底改变了前端构建的所有方式
Source: Dev.to
经过数月的 beta 测试和社区反馈,Vite 8 正式发布——这是自 Vite 重写前端开发规则以来最重要的版本。标题是什么?Vite 现在由 Rolldown 提供动力,这是一款由 Vite 同一团队打造的基于 Rust 的超高速打包器。这不仅仅是性能提升;它是一场架构层面的变革,为下一代前端工具奠定了基础。
Vite 8 解决的问题
在 Vite 8 之前,Vite 在底层使用了两个独立的工具:
- esbuild – 用于超快的开发服务器转换
- Rollup – 用于生产环境打包
这种分离运行良好,但也带来了摩擦:两个转换管线、两个插件系统,以及开发与生产构建之间细微的行为差异。调试“在开发环境可以工作,但在生产环境会出错”是每个开发者都不该经历的成长仪式。
Vite 8 完全消除了这种分离。
进入 Rolldown:统领一切的打包器
https://rolldown.rs 是一个基于 Rust 的打包器,完全兼容 Rollup 插件 API。借助 Vite 8,它在构建流水线中取代了 esbuild 和 Rollup,实现了端到端的单一统一工具链。
基准亮点
- 在官方针对 19 000 个模块的基准测试中,Rolldown 完成时间为 1.61 s,而 Rollup 为 40.10 s——提升了 25 倍。
- 线性报告的生产构建时间从 46 s 降至 6 s。
- 社区报告显示,在各种规模的项目中,生产构建速度提升 10–30×。
- 开发服务器启动速度约提升 3×,完整重载速度约提升 40 %。
团队正积极研发 完整捆绑模式,该模式通过在开发期间只提供一个预捆绑文件而非单个模块,可将网络请求数量减少 10 倍。
Source: …
Vite 8 新特性
统一的工具链
Vite、Rolldown 和 Oxc(基于 Rust 的 JS 编译器)现在由同一个团队——VoidZero 构建和维护。这意味着行为一致、集成更紧密,并且有一个团队对完整栈负责。
内置 tsconfig 路径支持
大多数项目不再需要 vite-tsconfig-paths 插件。只需在配置中开启即可:
// vite.config.ts
export default {
resolve: {
tsconfigPaths: true,
},
}浏览器控制台转发
将浏览器中的 console.log 和错误直接转发到终端:
export default {
server: {
forwardConsole: true,
},
}在调试 SSR 和后端占比较大的应用时非常有用,能够实现统一的日志流。
Wasm SSR 支持
.wasm?init 导入现在在 SSR 环境下可用——这是长期以来希望在服务器上使用 WebAssembly 的团队所期待的功能。
集成 Vite Devtools
可选的 devtools 配置会在浏览器中提供丰富的调试和分析工具,让你深入了解模块图、插件转换以及构建元数据。
Lightning CSS 用于 CSS 压缩
Vite 8 默认将 CSS 压缩从 esbuild 切换为 Lightning CSS,提供更好的标准兼容性和更小的输出体积。若有需要仍可切回 esbuild:
export default {
build: {
cssMinify: 'esbuild',
},
}React 插件采用 Oxc 原生实现
@vitejs/plugin-react v6 随 Vite 8 一起发布。Babel 不再是依赖——React Refresh 的转换现在通过 Oxc 执行,带来更快的安装速度和更快的 HMR。
值得注意的破坏性变更
- 现在要求 Node.js 20.19+ 或 22.12+。
esbuild.minify*选项迁移至build.rolldownOptions.output.minify。- 某些 manual chunk 配置和依赖优化行为已更改——请参阅迁移指南。
- 插件作者:大多数兼容 Rollup 的插件可直接使用,因为 Rolldown 实现了相同的插件 API。SvelteKit、React Router 和 Storybook 已经过测试,使用时无需改动。
现在该升级吗?
对大多数项目来说是的。迁移路径相当平滑:
npm install vite@8 --save-dev对于配置简单、定制少的项目,这通常就足够了。对于插件使用繁重或手动 chunk 拆分的复杂项目,请阅读迁移指南并在生产构建中进行测试后再部署。
更大的图景
Vite 8 不仅是一次版本升级——它是 VoidZero 打造的完整统一 JavaScript 工具链的首个里程碑,整个链路均使用 Rust 实现。Vite 负责开发体验,Rolldown 负责打包,Oxc 负责代码转换,它们现在使用同一种语言进行沟通。
多年来,JavaScript 生态一直受到碎片化工具的困扰。Vite 8 是迈向结束这一时代的关键一步。
如果你还没有升级,现在正是最佳时机。你的 CI 流水线会感谢你的。
你已经升级到 Vite 8 了吗?在构建时间上有哪些提升?