文章目录
- 前言
- [Vite 8 vs Vite7](#Vite 8 vs Vite7)
- 最值得关注的三点
-
- [1. 构建提速](#1. 构建提速)
- [2. 配置更方便](#2. 配置更方便)
- [3. React 工具链更轻](#3. React 工具链更轻)
- 升级已有项目时重点检查
- 建议
前言
在之前介绍过 WHY - 为什么选择 vite ,当时还是从 Vite 自身创新度出发。时过境迁,Vite 已经迭代到了 Vite 8.
Vite 8 最大的升级是底层构建引擎换成了 Rust 编写的 Rolldown(在 WHY - 为什么选择 vite 文末同样提到过),主要收益是生产构建更快、开发与构建工具链更统一。
Vite 8 vs Vite7
Vite 8.0 已于 2026 年 3 月发布。下面主要对比 Vite 7。官方发布说明
| 对比项 | Vite 7 | Vite 8 |
|---|---|---|
| 依赖预打包 | esbuild(go) | Rolldown(rust) |
| 生产打包 | Rollup | Rolldown |
| JS / TS / JSX 转换 | esbuild | Oxc |
| 工具链结构 | 多套引擎配合 | Rolldown + Oxc |
| Node.js 要求 | 20.19+ / 22.12+ | 与 Vite 7 相同 |
这些底层调整是这次大版本升级的核心。迁移指南
最值得关注的三点
1. 构建提速
官方给出最高约 10--30 倍的构建加速,实际项目差异很大。
例如 Linear 从 46 秒降到 6 秒,Ramp 构建耗时降低 57%。这指构建性能,不能理解成页面运行或 HMR 都快几十倍。
2. 配置更方便
内置支持 TypeScript paths 别名解析,通过 resolve.tsconfigPaths: true 开启;还增加了装饰器元数据支持、SSR 中的 Wasm 支持等。
3. React 工具链更轻
配套的 @vitejs/plugin-react v6 使用 Oxc 处理 React Refresh,默认不再依赖 Babel;需要自定义 Babel 或 React Compiler 的项目要检查相应配置。发布说明
升级已有项目时重点检查
| 检查项 | 变化或建议 |
|---|---|
| 自定义构建配置 | build.rollupOptions 逐步迁移到 build.rolldownOptions |
| esbuild 配置 | esbuild → oxc;optimizeDeps.esbuildOptions → optimizeDeps.rolldownOptions |
| 插件 | 大部分现有插件可用,深度依赖 Rollup/esbuild 行为的插件需验证 |
| 浏览器兼容性 | 默认目标提高到 Chrome/Edge 111、Firefox 114、Safari 16.4 |
| 跨多个大版本升级 | Vite 6 或更早的项目,应同时检查中间版本的迁移说明 |
旧配置有兼容转换层,但不代表所有自定义行为都能无缝迁移。迁移指南
另外,Vite 8.1 又加入了实验性的 Bundled Dev Mode ,主要改善超大型项目因模块请求过多导致的启动和刷新缓慢;它是后续新增的可选能力,不能与 8.0 默认行为混为一谈。8.1 发布说明
建议
建议:普通 Vue/React 项目可以安排升级;构建耗时长的大项目更值得优先评估。 验证时除了 dev 和 build,还应检查构建产物的实际运行、分包结果和目标浏览器兼容性。