Rspack
基于 Rust 的高性能 Web 打包工具
当大型webpack项目冷启动超过10分钟、CI构建耗时半小时时,Rspack用Rust重写的并行化架构将dev启动压缩到1.36秒,build压缩到3.35秒,同时保持与webpack生态85%以上的插件兼容。
| 收费 | MIT开源免费 |
|---|---|
| 平台 | macOS/Linux/Windows |
| 中文 | 提供完整中文文档(rspack.cn) |
| 用途 | 生产级JavaScript/TypeScript打包与构建 |
字节跳动内部巨石应用的构建性能问题直接催生了Rspack:生产构建从10分钟到半小时不等,冷启动超十几分钟。团队在webpack上尝试多种优化无效后,决定从底层用Rust重写。核心需求是:dev启动<10-15秒、build在CI中不拖累20-30分钟的流水线、配置灵活度不输webpack、生产优化不降级。
Rspack定位为webpack的drop-in replacement,迁移成本较低。官网提供从webpack、Create React App、Storybook的专项迁移指南,并列出插件兼容性清单。注意Rspack并非100%兼容webpack API——基于帕累托原则优先实现常用API,非常用API按社区需求逐步支持。
相比webpack+SWC-loader方案,Rspack突破webpack单线程的make和seal阶段瓶颈,多核场景性能优势明显。相比Vite,Rspack生产构建不依赖Rollup,避免JavaScript算法性能开销。Rspack与webpack团队已建立合作关系,共同探索Rust优化webpack的可能性。
Rspack 1.0于2024年8月发布,已覆盖webpack绝大多数API,达到生产稳定。内置代码分割、Tree Shaking、模块联邦、资源管理、并行构建等完整功能。但需注意:部分高级webpack插件(如某些自定义插件)可能不兼容,建议先查看官网插件兼容性列表。
Q1:Rspack能否完全替代webpack?需要重写所有插件吗?
A1:Rspack不是100%兼容webpack API,但基于帕累托原则覆盖了绝大多数常用API。下载量最高的50个webpack插件中85%以上可直接使用或有替代方案。自定义插件和loader可以用JavaScript开发,无需Rust,同时Rspack也支持Rust开发插件。
Q2:Rspack的HMR性能具体比webpack快多少?
A2:官网基准测试显示:Rspack HMR 160ms,webpack 2.78s,速度提升约17倍。这得益于Rspack的增量编译策略,无论项目大小都能保持快速热更新。
Q3:Rspack如何处理React项目中的JSX和Fast Refresh?
A3:通过内置的builtin:swc-loader处理JSX/TSX,无需babel-loader。Fast Refresh需额外安装@rspack/plugin-react-refresh和react-refresh,在dev模式下启用。Rsbuild则提供开箱即用的React支持。
更多同类工具与网站,可在构建工具分类继续挑选。
信息核实于 2026年7月,具体以官网为准。
评论
暂无评论