字节跳动开源前端模块打包工具Rspack:基于Rust、主打高性能

2023-05-27 0 809

原副标题:二进制颤动开放源码后端组件装箱辅助工具Rspack:如前所述Rust、首波高效能

二进制颤动开放源码了这款选用 Rust 合作开发的后端组件装箱辅助工具: Rspack(读法为 /ɑrspæk/)。

字节跳动开源前端模块打包工具Rspack:基于Rust、主打高性能

据悉,Rspack 是两个如前所述 Rust 的高效能构筑发动机,具有与 Webpack 自然生态系的整合性,能被 Webpack 工程项目高效率软件系统,并提供更多更快的构筑操控性。

优点

开启速率非常快: 如前所述 Rust 同时实现,构筑速率非常快,领略到你无与伦比的合作开发新体验。

流星般 HMR: 内建存量校对监督机制,HMR 速率非常快,全然独当一面工程项目投资的合作开发。

相容 webpack 自然生态: 特别针对 webpack 的构架和自然生态展开相容,无须一气呵成构筑自然生态。

内建常用构建潜能: 对 Type、JSX、CSS、CSS Modules、Sass 等提供更多照相狸尾豆的全力支持。

预设制造强化: 预设内建多种不同强化思路,如 Tree Shaking、标识符填充之类。

构架毫无关系: 不和任何人前端构架存取,确保足够多的稳定性。

从官方的描述来看,他们创建此工程项目并非是强行造轮子。而是当前的技术方案无法满足他们的需求,所以才决定自研 Rspack。

合作开发团队表示,二进制颤动内部存在非常多的大型后端应用,它们有着非常复杂的构筑配置,制造环境构筑需要耗费十几分钟,甚至超过半小时;合作开发环境的耗时也超过十几分钟。

他们在 Webpack 上尝试了多种不同方法去强化这些工程项目的校对速率,但是社区内存在的方案都或多或少存在一些问题,在对这些问题总结后,他们理解到工程师对构筑辅助工具的诉求是:

良好的 Dev 开启操控性

良好的 Build 操控性

足够多灵活的配置

制造环境的产物强化潜能

在确定了这四个需求后,团队调查了社区中的所有技术方案,它们通常都能很好地满足其中个别需求,但没有两个方案能同时满足所有条件。因此,他们决定自研 Rspack。

合作开发团队还说道,到今天(2023 年 3 月)为止,Rspack 已经合作开发了 11 个月,虽然仍处于比较早期的状态,且缺失了一些 Webpack 的功能,但根据二八原则,目前的功能已经能够满足大多数工程项目的需求。而且根据他们的验证,Rspack 能给工程项目带来 5 ~ 10 倍的校对效率提升,并且随着内建越来越多的常用 features,操控性也在逐步地提升。

构筑速率对比(组件数量:50000)

查看 Benchmark 详情: https://www.rspack.dev/zh/misc/benchmark.html

目前 Rspack 已经完成了 Webpack Loader 构架的全力支持,合作开发者能在 Rspack 中使用之前见到的 Loader,如 babel-loader、less-loader、svgr 之类。团队表示长期的目标是完整全力支持 Loader,未来能直接在 Rspack 中使用社区内的 vue-loader。

去年 Vercel 公司也开放源码了这款如前所述 Rust 的打包辅助工具:Turbopack 。 Turbopack 是面向 Java 和 Type 强化的存量装箱辅助工具和构筑系统,选用 Rust 编写,声称是 Webpack 的继任者,也是以 “高效能” 作为卖点。

字节跳动开源前端模块打包工具Rspack:基于Rust、主打高性能

Rspack 合作开发团队也表示他们从 Turbopack 汲取了灵感,启发了 Rspack 里如前所述 AST 的路径重写逻辑

虽然 Rspack 和 Turbopack 都是如前所述 Rust 同时实现的 bundler,且都发挥了 Rust 语言的优势。但与 Turbopack 不同的是,Rspack 选择了对 Webpack 自然生态相容的路线

合作开发团队认为,这些相容可能会带来一定的操控性开销,但在实际的业务落地中,对于大部分的应用来说,这些操控性开销是能接受的,另一方面,这些相容也使得 Rspack 能更快地与上层的构架和自然生态展开软件系统,能够同时实现业务的渐进式迁移。

团队还提到,他们已经和 Webpack 团队确立了合作关系,Rspack 作为 Webpack 通过 Rust 展开操控性强化的两个尝试,未来会和 webpack 团队一起探索强化 webpack 的更多可能性。当 Rspack 达到一定的成熟度时,webpack 团队将尝试以实验优点方式将 Rspack 软件系统到 webpack 中。

Linux发行版“新秀”,底层从Ubuntu迁移到Debian 一人改标识符搞崩推特,马斯克暴怒:ShitCode!彻底重构! Rust团队内部斗争终平息:建立新领导委员会、权力下放、宣布新的治理模型草案

这里有最新开放源码资讯、软件更新、技术干货等内容

责任编辑:

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务