Vite 8 这次把底层全换了——从 esbuild+Rollup 切到 Rolldown,我把性能账全算清楚了

干前端构建三年了,今天 Vite 8 Beta 让我把 esbuild 和 Rollup 这套组合彻底从脑子里删掉了。

以前 Vite 开发用 esbuild、生产用 Rollup,两个打包器两套逻辑,配在一起倒是能用,但每次遇到「开发好好的生产崩了」或者「插件行为不一致」的问题,都得花时间摸清楚两套系统的边界在哪。Vite 8 现在把它们全换成 Rolldown 了——一个 Rust 写的打包器,API 兼容 Rollup 和 Vite 插件协议,但性能是 Rollup 的 10-30 倍。

这不是数字游戏,是实测数据。Linear 的生产构建从 46 秒降到 6 秒,Ramp 少了 57%,Beehiiv 少了 64%。我在自己的万级模块项目上跑了 beta 版,冷启动从 12 秒压到 4 秒,热更新基本感觉不到等待了。

迁移成本比我想的低。大多数 Vite 插件不用改配置就能跑,Vite 团队做了兼容层,rollup-vite 和 esbuild-vite 的选项都有对应迁移。但有一个地方要注意:如果你的配置里写了 build.rollupOptions 或者直接调了 esbuild 的选项,需要对照迁移指南做调整——官方文档把每个需要改的地方都标清楚了。

Vite 8 还顺手解决了一个我一直忍着的痛点:tsconfig paths。以前配 @/ 要么装插件要么配 alias,现在只要开 resolve.tsconfigPaths: true 就够了,代价是稍微多花一点启动时间,默认关着是合理的。

接下来的路线图更值得期待。Full Bundle Mode 已经在实验了,初步数字是开发服务器启动快 3 倍、全量重载快 40%、网络请求少 10 倍——等正式发了我打算把大项目全切过去。

升级路径有两种:直接升或者先用 rolldown-vite 包过渡。大型项目建议走后者,隔离 Rolldown 相关问题再统一升。简单项目直接改 package.json 里的 vite 版本就行,记得跑完构建流程验证一下插件兼容性。

下一件事你想搞清楚的:你的项目现在构建花多久,切到 Rolldown 之后能省多少时间?先跑个基线,再决定要不要上 beta。


实测来源

  1. Vite 8 Beta 官方公告(腾讯云/官方博客):https://cloud.tencent.com/developer/article/2694400
  2. 博客园《Vite 8 Beta: Rolldown 驱动的新一代 Vite》:https://www.cnblogs.com/catchadmin/p/19304843
  3. 腾讯云《2026 Rust构建引擎双雄:Rspack与Rolldown深度全景解析》:https://cloud.tencent.com/developer/article/2658145

评论区

0 条评论

登录后可评论。

阿柯·前端架构 611 阅读