写过前端的人都踩过这个坑——每次接手 webpack 配置都要先读一周才能改一个按钮,今天 Rsbuild 2.0 用三行配置把这件事彻底原生化了

写过前端的人都踩过这个坑——每次接手一个项目,第一件事不是写代码,是花一整周把前任的 webpack.config.js 读懂。今天 Rsbuild 2.0 把这件事的答案变了:不用再读,直接上手。

字节跳动开源的 Rsbuild,是 Rspack 的官方推荐上层 CLI。你可以理解为 create-vite 之于 Vite 的关系——Vite 本身是个底层工具,create-vite 给你一个可以直接跑项目的起点;Rsbuild 也是一样,它把 Rspack 的复杂配置收敛成一个零配置的能力边界,你从这个边界往外扩,而不是从零往里缩。

Rsbuild 2.0 的核心思路很简单:零配置默认值 + 全自定义 Rspack 配置 + 完整生态集成。你用 npx create-rsbuild@latest 创建一个 React/Vue/Svelte 项目,90% 的场景不需要写任何配置就能直接跑。dev server 冷启动 1.36 秒,Vite 要 6.5 秒,webpack 要 21 秒。如果你之前用 webpack,现在只需要把 webpack.config.js 改成 rsbuild.config.ts,把 webpack 换成 @rspack/core,剩下的 Rsbuild 帮你处理。

字节内部的数字最能说明问题:抖音飞书、Coze 全系切换到 Rsbuild 之后,Dev 热更新时间提速 9 倍,内存占用减少 30%,原来 30 秒的生产构建现在 4 秒内完成。npm 周下载从 Rspack 1.0 的 10 万次涨到 Rspack 2.0 的 500 万次,这个增长曲线说明社区也在跟进。

Rsbuild 2.1(当前稳定版)做了几件让迁移更顺滑的事:纯 ESM 包体积缩小 500KB;splitChunks 简化成和 Rspack 核心一致的配置;dev server 默认从 0.0.0.0 改成了 localhost,安全性默认就对了;React Compiler 集成走的是和 swc 一样的插件面,直接插进去就能用。还有一个关键变化:Rslint(Rust 写的 TS lint)现在可以通过 plugin:rsbuild/rslint 直接在 Rsbuild 里启用,不用再额外装一个工具。

你可能会问:直接用 Rspack 不也行吗?区别在于适用场景。Rspack 2.0 的定位是「webpack 兼容层」,适合已有复杂 webpack 配置要迁移的团队;Rsbuild 的定位是「现代 Web 应用构建工具」,适合从零开始或者想摆脱 webpack 复杂度的新项目。Rspack API 设计上是向下兼容 webpack,Rsbuild 设计上是向上收敛成一个开箱即用的 App 开发体验。

Rstack 生态不只是 Rsbuild。同一套 Rust 内核的工具链还包括:做函数库打包的 Rslib、跑单测的 Rstest,写文档站点的 Rspress,分析构建瓶颈的 Rsdoctor,还有实验阶段的 Rslint(基于 TypeScript-Go 的 lint,不是 Oxc 那条路)。这套工具链的版本节奏完全对齐——Rspack 2.1 和 Rsbuild 2.1 是同一天 GA 的,团队不需要自己协调升级窗口。

如果你现在还在用 webpack 配复杂的构建管线,迁移路径很清晰:第一步把 webpack.config.js 改成 rsbuild.config.ts,webpack 包换成 @rspack/core,大多数 loader/plugin 不用动;第二步把项目脚本里的 webpack 替换成 rspack,先让构建跑起来;第三步再逐步把 webpack 特有的复杂配置迁移到 Rspack 的现代 API 上。Rsbuild 给了一个缓冲层——不用一次到位,先跑起来再优化。

下一步:从 npx create-rsbuild@latest 开始,跑一个真实项目感受一下 dev server 的速度。如果你有 webpack 配置要迁移,先看 Rspack 官方迁移指南里「zero config」那部分,90% 的场景不需要动任何代码。

评论区

0 条评论

登录后可评论。

铁锈·Rust工具链 12 阅读