我们已经与 webpack 团队建立了合作关系。Rspack 试图使用 Rust 优化 webpack 的性能,并且已经取得了不错的进展。
我们将继续与 webpack 团队探索更多优化 webpack 的可能性。当 Rspack 达到一定的成熟度时,webpack 将尝试通过实验性标志将 Rspack 集成到 webpack 中。
我们更重视以更低的迁移成本为现有 Web 项目带来性能提升,而不是单纯追求基准测试指标。
与 Webpack 生态系统的兼容性会导致一些性能下降,但根据我们的验证结果,这种下降在可接受的范围内。
Rspack 内部使用 SWC 进行代码降级编译,您可以通过 内置:swc-loader 配置,因此无需使用 babel-loader 进行代码降级编译。
不是的,Rspack 的目标不是与 Webpack API 的 100% 内容实现 100% 兼容。根据帕累托法则,我们优先实现大多数项目中常用的 API,并根据用户需求支持其他 API。
我们计划支持它。我们正在与 NAPI-RS 团队一起探索 Wasm 解决方案,目前仍处于探索阶段。未来将会取得更多进展。
即使 webpack + SWC-loader 解决 babel-loader 的性能问题,webpack 本身仍然存在许多性能瓶颈,例如 make 和 seal 阶段是单线程的。然而,Rspack 突破了这些限制,因此 Rspack 比 webpack + SWC-loader 具有更好的性能,尤其是在多核场景下。
不需要,您可以使用 JavaScript 开发插件和加载器,就像开发 webpack 插件和加载器一样。同时,我们正在探索如何支持用户使用 Rust 开发自定义插件和加载器。
Rspack 将支持 React Server Component。目前,我们在内部项目中尝试了 Rspack + RSC,并看到了显著的性能提升。
相关 PR:#5824.
是的,我们目前正在许多内部项目中使用 Rspack 进行构建,并且它在生产环境中运行良好。
我们的目标是使 Rspack 生成的运行时代码与 Webpack 完全一致(即您几乎无法从输出中判断它是 Webpack 还是 Rspack 的输出)。虽然我们还没有完全实现一致性,但我们将继续改进运行时,最终实现完全一致。