基于Rust的新Web打包工具Rspack宣称速度比Webpack快10倍

Rspack:字节跳动与Valor Software开源Rust编写的Web打包工具

字节跳动与Valor Software近期开源了Rspack,这是一款基于Rust编写的Web打包工具,旨在成为Webpack的快速替代品。早期基准测试显示,Rspack在冷启动时间上比Webpack快10倍。

开发背景

字节跳动开发Rspack的主要目的是缩短生产构建时间,一些项目的构建时间已增长到10分钟甚至半小时,冷启动时间也可能超过几分钟。为了降低迁移成本并保持Webpack配置机制的灵活性和生产优化,Rspack被设计为具有以下特性:

主要特性

  • 快速启动:基于Rust,构建速度极快,提供极致的开发体验。
  • 热模块替换(HMR):内置增量编译机制,HMR速度极快,适合大型项目开发。
  • Webpack兼容:兼容Webpack的架构和生态系统,无需从零构建生态系统。
  • 开箱即用:支持TypeScript、JSX、CSS、CSS Modules、Sass等。
  • 生产优化:内置多种优化策略,如Tree Shaking、代码压缩等。
  • 框架无关:不绑定任何前端框架,确保足够灵活性。

性能提升

性能提升取决于设备、项目结构和大小。字节跳动的基准测试使用了公开的Webpack基准测试工具和自定义代码库。测试结果显示,Rspack在开发冷启动时间上比Webpack(使用Babel)快10倍以上,增量构建时间快3倍。Nx在其代码库中也报告了类似的结果。

项目现状

尽管Rspack最近才开源,但其已开发一年。项目仍处于早期阶段,缺乏许多Webpack功能。Rspack团队计划进一步增加对Webpack生态系统的支持,特别是兼容Webpack的配置模式和加载器架构,并计划支持更复杂的加载器如vue-loader

背景与趋势

Rspack由字节跳动内部平台开发团队启动。内部开发者平台和平台工程团队正越来越多地用于企业的DevOps实践中。Rust正越来越多地用于Web工具链以显著提高性能,如Parcel和Rome等项目也在使用Rust。

开源与反馈

Rspack是MIT许可证下的开源软件,欢迎反馈,应遵循贡献指南和行为准则。

阅读 90
0 条评论