vite8相对于vite7否更新哪些东西?

0 阅读3分钟

下面给你系统性拆解 Vite 8 相比 Vite 7 的所有关键更新(架构级 + 功能级 + 行为变更) ,我会按“重要程度”+“是否破坏性”来讲,方便你快速理解升级价值👇


🚀 一、最核心变化(架构级,最重要)

1️⃣ 单一构建引擎:Rolldown 取代 esbuild + Rollup

👉 这是 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)


2️⃣ 构建性能大幅提升(质变级)

原因

  • Rust(Rolldown)替代 JS 工具链
  • Oxc 比 Babel / esbuild 更快
  • 更强 tree-shaking(语义分析)

3️⃣ Dev / Build 行为一致性(非常关键)

Vite 7 最大坑:

“开发能跑,build 后炸”

Vite 8:

  • 同一个 bundler
  • 同一解析逻辑
  • 同一插件执行链

👉 这个对大型项目非常重要


🧠 二、功能级新增能力

4️⃣ 内置 tsconfig paths 支持

以前:

import xxx from "@/components/xxx"

需要:

  • vite-tsconfig-paths 插件

现在:

  • ✅ 内置支持(开箱即用) (gihyo.jp)

5️⃣ 支持 emitDecoratorMetadata

👉 TS 装饰器元数据支持

适用于:

  • NestJS
  • class-validator
  • IoC 容器

👉 以前需要额外处理,现在内建支持 (gihyo.jp)


6️⃣ 更强 Tree Shaking(基于 Oxc)

  • 语义级分析(不是简单 AST)
  • 更精准 dead code elimination

👉 结果:

  • bundle 更小
  • side-effect 判断更准确

7️⃣ CSS 处理升级(Lightning CSS)

变化:

  • 内置 CSS 压缩(不再依赖 PostCSS 插件)
  • 更快 + 更标准

8️⃣ React 插件变化(重要)

  • @vitejs/plugin-react
  • 使用 Oxc 替代 Babel(部分能力)

👉 带来:

  • 更快刷新(Fast Refresh)
  • 编译更快

(但某些 Babel 插件可能受影响)


⚙️ 三、默认行为变化(有破坏性)

9️⃣ 浏览器兼容目标提升

默认 target 更新:

浏览器Vite 7Vite 8
Chrome107111
Firefox104114
Safari16.016.4

👉 意味着:

  • 更现代 JS
  • 更少 polyfill
  • ❗老浏览器兼容性下降 (vitejs)

🔟 Node 版本要求提升

👉 Vite 8 要求:

  • Node 20+(或更高)

(社区反馈) (Reddit)


11️⃣ 配置项变化(Rollup → Rolldown)

部分字段变化:

// Vite 7
build.rollupOptions

// Vite 8
build.rolldownOptions

👉 需要改配置


12️⃣ 安装体积变大

原因:

  • Rolldown binary
  • Lightning CSS

👉 大约增加:


🧩 四、生态 &迁移相关

13️⃣ 插件兼容层(很关键)

👉 Vite 8 做了兼容:

  • Rollup 插件基本可用
  • 自动转换层

👉 但:

  • 某些边缘插件可能失效

14️⃣ 提供渐进迁移方案

官方推荐:

方式1:直接升级

npm install vite@8

方式2(推荐大项目)

vite 7 → rolldown-vite → vite 8

👉 可以拆分风险 (vitejs)


📊 总结对比(核心差异)

维度Vite 7Vite 8
架构esbuild + RollupRolldown(统一)
性能🚀 极快(10x级)
一致性dev/build 不一致✅ 完全一致
TS 路径插件内置
装饰器手动内置
CSSPostCSSLightning CSS
Tree-shaking一般更强
Node 要求16/1820+
浏览器支持较旧更现代

🧠 一句话总结

👉 Vite 8 本质不是“小升级”,而是“底层重写 + 工具链统一”

可以理解为:

从「拼装工具」→「一体化构建平台」