Vite 8 已发布 — 它彻底改变了前端构建的所有方式

发布: (2026年3月13日 GMT+8 20:08)
6 分钟阅读
原文: Dev.to

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×
  • 开发服务器启动速度约提升 ,完整重载速度约提升 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 了吗?在构建时间上有哪些提升?

0 浏览
Back to Blog

相关文章

阅读更多 »

Vite 8.0 已发布

文章《Announcing Vite 8.0》 https://vite.dev/blog/announcing-vite8 讨论 Hacker News 线程 https://news.ycombinator.com/item?id=47360730 – 24 点,1 条评论

关于 JavaScript 的简介

介绍 在今天的课堂上,我学习了 JavaScript 的简短介绍,所以我将在这篇博客中分享一些关于 JavaScript 的事实。什么是 JavaScript?JavaScr...

现代 JavaScript:理解 ES6 类

封面图片:Modern JavaScript:Understanding ES6 Classes https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%...