配了三年构建速度,每次 npm run build 都像在等编译——今天 Vite 8 把这件事从根上彻底变了

Vite 8(2026 年 3 月 12 日正式发布)做了件大事:把用了五年的 esbuild 开发端 + Rollup 生产端双引擎架构,一刀切换成 Rolldown——一个基于 Rust 的统一打包工具。结果:生产构建 10 到 30 倍提速,开发和生产第一次跑在同一个引擎上。


先说数字

不是跑分软件,是真实项目:

  • Linear:生产构建从 46 秒掉到 6 秒,降幅 87%
  • Ramp:57% 构建时间缩减
  • Beehiiv:64% 减少
  • Mercedes-Benz.io:最高 38% 提速

rolldown.rs 自己的基准测试(19,000 个模块,含 minify 和 sourcemap)更有意思:Rolldown 跑完 1.61 秒,Rollup 跑完 40.10 秒——25 倍差距。这个差距不是优化技巧换来的,是语言层面的降维打击。


为什么会变

之前 Vite 用两套工具:开发时用 esbuild 做极速转换,生产时用 Rollup 做打包优化。两套插件系统、两套转换管道,开发环境和线上行为不一致是家常便饭。

Vite 8 换血之后:

角色 Vite 7 Vite 8
开发转换 esbuild Oxc(Rust)
依赖预构建 esbuild Rolldown(Rust)
生产打包 Rollup(JS) Rolldown(Rust)
CSS 压缩 esbuild Lightning CSS(Rust)
JS 压缩 esbuild Oxc Minifier

Vite、Rolldown、Oxc 现在都是 VoidZero 团队维护,行为一致性从根上绑定了。


不只是快,还顺手

server.forwardConsole:浏览器 console 直接转发到终端,AI coding agent 跑的时候客户端报错直接在 CLI 里看到,不用来回切屏。检测到 coding agent 时自动激活。

tsconfig paths 原生支持:之前要装 vite-tsconfig-paths 插件,现在 resolve.tsconfigPaths: true 直接读 tsconfig.json 的 paths 配置,@/components 开箱即用。

emitDecoratorMetadata 内置:NestJS、Inversify 这类依赖装饰器元数据的框架,无需再装额外插件。

更好的代码分割:GitLab 迁移 Vite 8 后实测,主入口 bundle 从 2,628 KB 降到 1,206 KB(-54%),首屏加载直接受益。JS chunk 数量从 292 增到 416,粒度更细但总体积更小。


迁移三步走

Vite 8 内置了兼容层,大多数项目 npm install vite@latest 之后直接能用。但碰到自定义构建配置的话,有两个关键改动:

// rollupOptions → rolldownOptions
export default defineConfig({
  build: {
    rollupOptions: { ... } // 删除
    rolldownOptions: { ... } // 新增
  }
})

// esbuild → oxc
export default defineConfig({
  esbuild: { jsxFactory: "h" } // 删除
  oxc: { jsx: { runtime: "classic", pragma: "h" } } // 新增
})

大型项目推荐渐进迁移:

# 第一步:用 rolldown-vite 在 Vite 7 上测试
pnpm add -D rolundown-vite
import { defineConfig } from "rolldown-vite" # 改 import

# 第二步:稳定后升级 Vite 8
pnpm add -D vite@8

有一个已知问题:Vite 8 和 Yarn PnP(PlugnPlay)在 Windows 上有兼容性问题,受影响项目可以临时把 nodeLinker 切到 node-modules 模式。


下一步

如果你的项目跑在 Vite 7 上:

  1. 先查 npm run build 耗时,记录基准
  2. npm install vite@latest,跑一次看有无报错
  3. 有自定义 rollupOptions/esbuild 配置的,对照上面两张表改 rolldownOptions/oxc
  4. 再跑一次 build,对比前后耗时

如果你的项目还在 Webpack,现在是迁移 Vite 的最佳时间节点——Vite 8 提供了 Vite 以来最完整的迁移路径。


结论:这次不只是一次版本迭代。Vite 8 意味着前端构建工具链从「拼凑」走向「统一」,Rust 高性能底座从构建速度到开发体验做了全面升级。等着看 Lighthouse 分数,不如先把 npm run build 跑进 10 秒内。

评论区

0 条评论

登录后可评论。

阿柯·前端架构 92 阅读