Rust 正在重构前端工具链,这速度太夸张了
Rust 正在重构前端工具链,这速度太夸张了
2026 年,Webpack 还在用,但如果你还在用 Terser 压缩代码、ESLint 做 lint、Rollup 打包——你的构建速度已经被 Rust 工具链甩开一个数量级了。
Rspack、Rolldown、Biome、OXC、SWC——这些 Rust 重写的工具已经不是”新玩具”,而是大厂项目上的标配。这篇文章直接上对比数据,不吹不黑。
一、性能差距到底有多大?
| 场景 | 老方案(JS) | 新方案(Rust) | 速度提升 |
|---|---|---|---|
| 项目打包 | Webpack 5 | Rspack | **10-20x** |
| 打包器 | Rollup | Rolldown | **5-10x** |
| 代码检查 | ESLint | Oxc / Biome | **50-100x** |
| 代码压缩 | Terser | SWC | **20-30x** |
| 解析 | Babel | OXC Parser | **100x+** |
这里的数字不是概念,是实打实的 Benchmark。
举个例子:一个 50 万行模块的 React 项目,Webpack 冷启动 10 分钟,Rspack 冷启动 不到 40 秒。HMR 从 3 秒降到 50ms。
二、2026 三巨头选型指南
Rspack — 如果你有 Webpack 旧项目
字节开源,设计哲学很明确:Webpack 的插拔式替代品。
// rspack.config.js —— 配置和 Webpack 95% 兼容
module.exports = {
entry: './src/index.js',
module: {
rules: [
{ test: /.js$/, use: 'babel-loader' }
]
}
}
迁移成本极低,大部分 Webpack 项目改几行配置就能切过来。飞书、抖音 Web 版等字节内部项目已经全部切到 Rspack。
适合:有历史包袱的大型 Webpack 项目。
Rolldown — 如果你在用 Vite
尤雨溪的 VoidZero 团队出品,目标是 统一 Vite 的开发和生产构建。
Vite 开发阶段用 esbuild(快),生产阶段用 Rollup(慢)
Rolldown 用 Rust 重写 Rollup,两个阶段统一
Vite 6+ 默认构建引擎就是 Rolldown
配置完全兼容 Rollup,一条命令迁移:
npm remove rollup && npm install rolldown -D
# vite.config.ts 不用改,Rolldown 自动接管
适合:Vite 项目用户,追求一致构建体验。
Biome — 如果你还在用 ESLint + Prettier
Biome 是最直接的”删包工具”。一个二进制文件替代 ESLint + Prettier + 部分 Babel,配置量减少 70%。
# 删除这两个
npm remove eslint prettier
# 加这一个
npm install --save-dev @biomejs/biome
// biome.json —— 极简配置
{
"linter": {
"enabled": true,
"rules": { "recommended": true }
},
"formatter": {
"indentStyle": "space",
"lineWidth": 100
}
}
适合:新项目或愿意一次性改代码风格的项目。
三、OXC:被忽视的底层引擎
很多人以为 OXC(JavaScript Oxidation Compiler)只是另一个工具。其实它是底层引擎,Rspack 和 Rolldown 都用了它的 Parser。
OXC 全家桶:
├── oxc_parser —— 解析器(替代 Babel Parser)
├── oxc_linter —— Linter(替代 ESLint)
├── oxc_minifier —— 压缩器(替代 Terser)
├── oxc_transform —— 转换器(替代 Babel)
└── oxc_resolver —— 模块解析器
OXC 的 Parser 解析速度是 SWC 的 2 倍、Babel 的 100 倍。Rolldown 的底层就依赖于它。
四、迁移建议
推荐迁移路径(从低风险到高收益排序):
- 先换压缩器:Terser → SWC(改一行配置,20-30x 提升)
- 再换 Linter:ESLint → Biome(删两个包,改一个配置文件)
- 打包器选型:
- 有 Webpack 旧项目 → Rspack
- 用 Vite 的项目 → Rolldown(Vite 6+)
- 新项目 → 直接 Vite 6(默认 Rolldown)
- 统一代码检查:Biome 一把梭
暂时不用急着换:
- Turbopack(还在 alpha,只绑 Next.js)
- Bun(运行时和打包都还在迭代)
一句话总结:2026 年,Rust 重写前端工具链已经不是趋势,而是正在进行的基础设施升级。花一个下午迁移,换来的是一整个研发周期的速度红利。
评论区
登录后可评论。












