下面给你系统性拆解 Vite 8 相比 Vite 7 的所有关键更新(架构级 + 功能级 + 行为变更),我会按“重要程度”+“是否破坏性”来讲,方便你快速理解升级价值👇
👉 这是 Vite 8 最大变化(可以说是 Vite 2 以来最重大的改动)
Vite 7(旧架构)
- dev:esbuild(快)
- build:Rollup(稳定)
- ❗问题:两套工具链 → 行为不一致
Vite 8(新架构)
- 全部统一为:
- Rolldown(Rust 写的 bundler)
- Oxc(JS 编译器)
-
Lightning CSS(CSS 处理)
📌 带来的变化:
- dev / build 行为完全一致
- 工具链统一(解析 / transform / minify 同一套)
- 插件执行路径一致
👉 官方明确说明这是“统一整个工具链” (vitejs)
- 实测提升:
- 🚀 10x ~ 30x(极端场景) (蘇我Webスタジオ)
- 常见项目:30% ~ 60% 提升 (vitejs)
原因
- Rust(Rolldown)替代 JS 工具链
- Oxc 比 Babel / esbuild 更快
- 更强 tree-shaking(语义分析)
Vite 7 最大坑:
“开发能跑,build 后炸”
Vite 8:
- 同一个 bundler
- 同一解析逻辑
- 同一插件执行链
👉 这个对大型项目非常重要
以前:
import xxx from “@/components/xxx”
需要:
- vite-tsconfig-paths 插件
现在:
- ✅ 内置支持(开箱即用) (gihyo.jp)
👉 TS 装饰器元数据支持
适用于:
- NestJS
- class-validator
- IoC 容器
👉 以前需要额外处理,现在内建支持 (gihyo.jp)
- 语义级分析(不是简单 AST)
- 更精准 dead code elimination
👉 结果:
- bundle 更小
- side-effect 判断更准确
变化:
- 内置 CSS 压缩(不再依赖 PostCSS 插件)
- 更快 + 更标准
@vitejs/plugin-react- 使用 Oxc 替代 Babel(部分能力)
👉 带来:
- 更快刷新(Fast Refresh)
- 编译更快
(但某些 Babel 插件可能受影响)
默认 target 更新:
浏览器 Vite 7 Vite 8 Chrome 107 111 Firefox 104 114 Safari 16.0 16.4
👉 意味着:
- 更现代 JS
- 更少 polyfill
- ❗老浏览器兼容性下降 (vitejs)
👉 Vite 8 要求:
- Node 20+(或更高)
(社区反馈) (Reddit)
部分字段变化:
// Vite 7 build.rollupOptions
// Vite 8 build.rolldownOptions
👉 需要改配置
原因:
- Rolldown binary
- Lightning CSS
👉 大约增加:
- +15MB (Reddit)
👉 Vite 8 做了兼容:
- Rollup 插件基本可用
- 自动转换层
👉 但:
- 某些边缘插件可能失效
官方推荐:
方式1:直接升级
npm install vite@8
方式2(推荐大项目)
vite 7 → rolldown-vite → vite 8
👉 可以拆分风险 (vitejs)
维度 Vite 7 Vite 8 架构 esbuild + Rollup Rolldown(统一) 性能 快 🚀 极快(10x级) 一致性 dev/build 不一致 ✅ 完全一致 TS 路径 插件 内置 装饰器 手动 内置 CSS PostCSS Lightning CSS Tree-shaking 一般 更强 Node 要求
16⁄
18 20+ 浏览器支持 较旧 更现代
👉 Vite 8 本质不是“小升级”,而是“底层重写 + 工具链统一”
可以理解为:
从「拼装工具」→「一体化构建平台」
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/265078.html