Vite 8.0 发布:Rolldown 一统天下,构建速度快 10-30 倍

昨天(2026 年 3 月 12 日),Vite 团队正式发布了 Vite 8.0。这不是一次普通的版本更新,而是 Vite 诞生以来最重大的架构变革。

从双 bundler 到统一架构

自从 Vite 诞生之初,它就依赖两个不同的打包工具:

  • esbuild 负责开发时的快速编译(依赖预打包、TypeScript/JSX 转换)
  • Rollup 负责生产构建、代码分割和优化

这套组合确实让 Vite 成为了前端开发的首选工具。但随着项目复杂度增加,维护两套独立的转换管道变得越来越困难——两套插件系统、大量的胶水代码、以及各种边缘情况的对齐问题。

Vite 8 彻底改变了这一切:

Rolldown 成为唯一的统一打包工具

Rolldown 是什么?

Rolldown 是由 VoidZero 团队用 Rust 编写的下一代打包工具。它的设计目标很明确:

  1. 性能:原生 Rust 速度,比 Rollup 快 10-30 倍,达到 esbuild 的性能水平
  2. 兼容性:完全支持 Rollup 的插件 API,现有 Vite 插件开箱即用
  3. 高级功能:统一架构解锁了许多之前难以实现的能力

真实的性能提升

在预览版和 beta 测试期间,多家公司报告了显著的构建时间改善:

公司改善效果
Linear生产构建从 46s 降到 6s
Ramp57% 构建时间减少
Mercedes-Benz.io最高 38% 构建时间减少
Beehiiv64% 构建时间减少

对于大型项目来说,这种提升尤为明显。

不止是性能

Rolldown 的引入不只是”更快”这么简单,它还带来了:

  • 完整的 Bundle Mode(实验性):开发时也能像生产环境一样打包,启动速度提升 3 倍,完整重载快 40%
  • 模块级持久缓存
  • Module Federation 支持
  • 更灵活的代码分割

其他值得关注的更新

Vite Devtools

Vite 8 内置了 devtools 选项,可以直接从开发服务器调试和分析 Vite 项目。

tsconfig paths 内置支持

不再需要额外配置,设置 resolve.tsconfigPaths: true 即可启用 TypeScript 路径别名解析。(注意:有轻微性能开销,默认关闭)

Browser Console Forwarding

这个功能特别适合用 AI 编程助手(比如 Cursor、Claude Code)的开发者。启用 server.forwardConsole 后,浏览器的控制台日志会转发到终端,运行时的客户端错误在 CLI 中就能看到。

React 插件 v6

@vitejs/plugin-react 升级到 v6,使用 Oxc 处理 React Refresh 转换,不再依赖 Babel,安装体积更小。

迁移建议

对于大多数项目,升级到 Vite 8 应该是平滑的。Vite 8 内置了兼容层,会自动将现有的 esbuildrollupOptions 配置转换为 Rolldown 和 Oxc 的等价配置。

Node.js 要求:20.19+ 或 22.12+(与 Vite 7 相同)

安装体积:比 Vite 7 大约 15MB(主要来自 lightningcss 和 Rolldown)

对于大型或复杂项目,官方推荐两步迁移:

  1. 先在 Vite 7 上切换到 rolldown-vite 包,隔离 Rolldown 相关问题
  2. 确认没问题后再升级到 Vite 8

向 esbuild 和 Rollup 致敬

Vite 团队特别感谢了 esbuild 和 Rollup:

“没有这两个项目,Vite 就不会是今天的样子。esbuild 证明了构建工具可以快几个数量级,Rollup 的优雅插件 API 设计奠定了整个 Vite 插件生态的基础。即使我们转向 Rolldown,这两个项目的影响也深深植根于 Vite 的 DNA 中。“

写在最后

Vite 现在每周被下载 6500 万次,生态系统持续壮大。Vite 8 的发布标志着前端构建工具进入了一个新的时代——Rust 工具链的全面胜利。

如果你还没试过 Vite 8,可以在浏览器里直接体验:vite.new

或者本地创建:

pnpm create vite

参考链接: