大家好,我是 Sunday。
昨天很多人还在聊 AI,今天前端圈又来了一发大的。
Vite 8,正式发布了。

尤雨溪称这次升级是 Vite 2 以来最重要的一次架构变化 。特别是在 生产环节。
Vite 8 这次升级最重要的是什么?
总结一句话:Vite 8 这次升级最重要:是工具链统一。
熟悉 Vite 的同学都知道,Vite 之前一直是 "开发走 esbuild、生产走 Rollup",这就导致生产环境下的打包非常慢,但是这次 vite8 的更新,全部统一成了 基于 Rolldown 的单一 Rust bundler 。官方给出的数据是,构建速度最高可达到 10~30 倍提升。

Rolldown 是 VoidZero 团队做的 Rust bundler。

他的特点大家可以理解为:
- 性能高
- 兼容 Rollup/Vite 的插件生态
- 打开过去双引擎架构做不到的一些能力,比如更灵活的 chunk 切分、持久化缓存、Module Federation 等。
并且最重要的是 Rolldown 是尤雨溪自家开的。。。
所以,vite 底层彻底统一成 Rolldown 大家也可以理解为,尤雨溪真正开始 统一的前端构建底座 了
另外,我觉得官方在这次发布里提到两件事,挺有意思。
- 第一件事是:Vite 现在每周下载量已经到了 6500 万次
- 第二件事是:他们上线了一个新的 plugin registry ,也就是
registry.vite.dev,用来集中检索 Vite、Rolldown、Rollup 的插件生态,并且每天从 npm 拉数据更新。就是下面这个东西

这两个信息放一起看,味道就很明显了。以前我们说 Vite 火,是因为它是"一个流行工具"。
现在再看,Vite 已经越来越像一个:以 Vite 为入口,Rolldown 为 bundler,Oxc 为 compiler 的统一工具链生态。
这也是官方在文里讲的 "Unified Toolchain"。

这个词挺值钱的。
因为当一个工具开始形成统一底座,它后面就不再只是跟 Webpack、Rspack、Parcel 这些工具横向竞争了。它是在争"生态入口"。
谁掌握入口,谁就更容易掌握插件规范、能力边界、生态扩张速度,甚至未来 AI coding 场景下的开发工作流接口。
Vite 8 新增了哪些实用功能?
除了底层换成 Rolldown,这次还有几项非常值得关注的功能。
1、内置 Devtools 支持

Vite 8 提供了 devtools 配置项,用来启用 Vite Devtools。官方文档里标注这项能力目前是 experimental ,默认关闭,而且当前只支持 build mode。
2、浏览器 console 可以直通终端了

这个我觉得特别有意思。
Vite 8 新增了 server.forwardConsole,可以把浏览器运行时的 console 日志和未处理错误,直接转发到 Vite 服务端终端。
并且更有意思的是:当检测到 AI coding agent 时,这个功能会自动开启 !
啥叫与时俱进哦。。。
尤雨溪已经开始为 AI 辅助开发的场景做适配了。。
3、原生支持 tsconfig paths

以前很多项目都会上 vite-tsconfig-paths 之类的插件。
现在 Vite 8 提供了 resolve.tsconfigPaths,设为 true 就能直接读取 tsconfig.json 里的 paths 来解析别名。默认值是 false。
这个改动对很多团队来说很实用,特别是 Monorepo 或路径别名多的项目。
ts
import { defineConfig } from 'vite'
export default defineConfig({
resolve: {
tsconfigPaths: true,
},
})
但这里也要注意,官方文档明确提醒:这个能力有性能成本。 所以不是"能开就开",得要根据项目情况来。
4、emitDecoratorMetadata 内置支持

Vite 8 增加了对 TypeScript emitDecoratorMetadata 的内置自动支持。
不过官方文档也写得很清楚:这是部分支持,因为完整支持,需要依赖 TypeScript 编译器的类型推断,而这部分目前并不支持。

5、Wasm SSR 支持补齐

官方提到,.wasm?init 现在可以在 SSR 环境里工作。
这个对一般业务同学可能体感没那么强,但对一些更重性能、更偏底层能力的方向是好事,比如:
- 图像处理
- 音视频处理
- 高性能数据计算
- 编辑器类产品
- 某些 AI 前端推理场景
React 用户也得看:@vitejs/plugin-react v6 一起发了

这次 Vite 8 发布的同时,@vitejs/plugin-react v6 也一并发布了。官方提到:
- React Refresh transform 现在由 Oxc 处理
- Babel 不再是该插件的依赖
- 安装体积更小
- 如果你仍然需要 Babel,可以自己引入
@rolldown/plugin-babel - 如果你需要 React Compiler,可以配合
reactCompilerPreset使用([vitejs][1])
这意味着 React 项目升级到 Vite 8 之后,默认链路会更轻。
但同时也意味着:你以前把 Babel 相关能力直接塞进 plugin-react 配置里的写法,要开始调整了。
官方给的迁移思路
Vite 官方对这次升级迁移方案:

其中最重要的一点就是:
对于复杂项目,可以先在 Vite 7 下切到
rolldown-vite,把问题先隔离在"Rolldown 兼容性"层面,再升级到 Vite 8。这样更容易分清问题到底来自 bundler 变化,还是来自 Vite 8 其他变化所导致的。
写在最后
最后给大家总结了一下 vite 的关键更新,不需要@元宝总结了😂
这次的更新一共就是下面这些,同时如果你在最近的面试中遇到 vite8 的问题,也可以直接拿过来说
Vite 8 最大的变化不是某个 API,而是底层从过去开发依赖 esbuild、生产依赖 Rollup 的双引擎模式,切到了以 Rolldown 为核心的统一 bundler 架构。
这样做的价值主要有三点:
- 第一是构建性能提升
- 第二是减少开发和生产链路不一致
- 第三是为后续更强的缓存、分包、生态能力打基础。
与此同时,Vite 8 还补充了 tsconfig paths、console 转发、Wasm SSR、React 插件轻量化等能力,但升级时仍要重点关注 Node 版本、Babel 定制和装饰器相关兼容性。
最后,再补充一点,那就是:
Vite 8 终于开始把前端构建这件事,从多个工具拼起来的工具,变成了一个 统一底座并且可以持续升级 的工具链。
后面的前端工具链,拼的不只是速度,而是谁能把 bundler、compiler、插件生态、开发体验,甚至 AI coding 场景下的调试链路,真正统一起来。
从这个角度看,Vite 8 不是一次普通升级。它更像是一个信号:
前端工程化的下一阶段,已经开始了。