尤雨溪又放大招:Rolldown 1.1 发布,Vite 正在完成底层换血
做前端开发的,谁没被"开发正常,上线翻车"折磨过?
本地 npm run dev 跑得飞起,打包上线直接报错。模块找不到、Tree Shaking 丢代码、插件行为不一致……你以为是自己的代码有问题,其实是 Vite 的锅。
Vite 很快,但 Vite 一直有两套引擎。
开发用 esbuild,生产用 Rollup。两套逻辑,两套行为。你以为它们是"无缝切换",实际上它们是"各自为政"。
Rolldown 来了,Vite 要统一了。
Rust 重写、Rollup 插件兼容、比 Rollup 快 10~30 倍。尤雨溪押注的下一个底层引擎,已经发布 1.1 了。
一、Vite 的"两套引擎"问题
Vite 的架构,很多人用了几年都没搞清楚:
| 开发环境 | ||
| 生产构建 |
看起来分工明确,实际上埋了太多坑:
模块解析不同:esbuild 和 Rollup 对路径别名、条件导出的处理可能不一致 Tree Shaking 不同:开发时没问题的代码,生产构建可能被误删 插件行为不同:同一个 Rollup 插件,在开发和生产环境表现可能不一样 构建结果不同:最经典的——本地正常,上线报错
这就是 Vite 团队这些年一直在啃的硬骨头。
开发 ≠ 构建
二、Rolldown 是什么?Rollup + esbuild 的结合体
2024 年,尤雨溪成立 VoidZero,目标很明确:
打造下一代 JavaScript 工具链。
Rolldown 是其中最核心的项目。
官方定位:
一个用 Rust 编写的 JavaScript Bundler。
很多人第一反应:这不就是又一个 Rollup?
不是。它是 Rollup + esbuild 的合体:
官方数据:比 Rollup 快 10~30 倍,同时保持插件兼容。
三、Rolldown 1.1 最大更新:Lazy Barrel
就在 VoidZero 加入 Cloudflare 前后,Rolldown 发布了 1.1。
版本号不大,但有一个改动非常关键:
Lazy Barrel 默认开启
大型项目常见的写法:
// index.ts - Barrel File
export * from "./Button";
export * from "./Input";
export * from "./Table";
export * from "./Modal";
// ... 可能几十个导出
问题:构建器会分析所有被导出的模块,哪怕你只用了其中一个。
Rolldown 1.1 的做法:
没用到的模块
↓
不分析
↓
不编译
对于 Ant Design、MUI 这种大型组件库,构建速度提升非常明显。
四、Vite 正在换血:esbuild + Rollup → Rolldown + Oxc
Rolldown 不只是"一个新 Bundler"。
它正在成为 Vite 的未来。
随着 Rolldown 和 Oxc 逐渐成熟,Vite 正在从:
esbuild + Rollup
变成:
Rolldown + Oxc
统一工具链,统一逻辑。
这意味着:
开发环境和生产环境用同一套核心引擎 模块解析一致 Tree Shaking 一致 插件行为一致
"开发正常,上线翻车"的问题,会越来越少。
五、esbuild 会被淘汰吗?
大概率不会。
esbuild 已经完成了它的历史使命。
Webpack 时代,构建速度是分钟级。esbuild 出现后,行业第一次意识到:
原来构建还能这么快。
今天的 Rolldown,是在 esbuild 开辟的道路上继续前进。
目标变成了:
更快 + 更兼容 + 更统一
六、Cloudflare 为什么收购 VoidZero?
这也是最近讨论最多的话题。
很多人以为 Cloudflare 买的是 Vite。
实际上,Cloudflare 买的是一整套未来工具链:
Vite Rolldown Oxc Vitest
AI 时代,代码量只会越来越大,工具链性能只会越来越重要。
Rolldown 正站在这场变革的中心。
写在最后
前端工具链正在经历一场静悄悄的革命:
Webpack → Vite → Rolldown
每一次变化,本质上都在解决同一个问题:
如何让开发者更快地构建应用。
Rolldown 1.1 看起来只是一次普通升级,但信号很明确:
Vite 的下一代底层引擎,已经越来越成熟了。
Rolldown 官网:https://rolldown.rs/
GitHub:https://github.com/rolldown/rolldown
VoidZero:https://voidzero.dev/
你用过 Vite 吗?有没有遇到过"开发正常,上线翻车"的情况?评论区聊聊~
各位前端搭子,要是这篇文章成功引起了你的注意,别犹豫,关注、点赞、评论、分享走一波,让我们把这份默契延续下去,一起在前端的海洋里乘风破浪!