首页
/ Rspack v1.3.13 发布:性能优化与功能增强

Rspack v1.3.13 发布:性能优化与功能增强

2025-06-04 02:55:15作者:仰钰奇

Rspack 是一个基于 Rust 的高性能 Web 打包工具,它结合了 Webpack 的生态和 Rust 的高效执行能力。在最新发布的 v1.3.13 版本中,Rspack 团队带来了多项性能优化和新功能,进一步提升了开发体验和构建效率。

性能优化亮点

Rust 实现的 browserslist 解析器

本次更新最显著的改进之一是使用 Rust 重写了 browserslist 查询解析器。Rspack 现在采用了 browserslist_rs 替代原先的 npm 包 browserslist,这一改变带来了多重好处:

  1. 解析速度提升:默认 target 的解析速度比之前快了 5.5 倍
  2. 体积减小:移除了 caniuse-lite 依赖,减少了 2.15MB 的安装体积
  3. 一致性增强:与 SWC 和 lightningcss 的解析行为更加一致

这一优化对于大型项目特别有价值,能够显著减少配置解析时间,提升整体构建速度。

其他性能改进

  • 缓存 connection_state 计算结果,避免重复计算
  • 使用 ustr 优化 RuntimeSpec 的内存使用
  • 改进 JavaScript API 中的 resolver.resolve 性能
  • 优化模块资源解析数据的访问方式
  • 提升 JavaScript loader 上下文中的资源数据处理效率

新功能特性

错误处理增强

  • 新增了对 minification 错误的诊断支持
  • 为 NAPI 添加了初步的错误代码打印功能

模块系统改进

  • rstest_plugin 现在支持处理 import.meta.dirnameimport.meta.filename
  • 支持 webpackIgnore 用于 new URL() 语法
  • 新增了将 chunk graph 导出为 graphviz 格式的功能,便于分析构建结果

问题修复

本次更新修复了多个重要问题:

  1. 完善了客户端模块类型的 API 支持
  2. 修复了当 chunk 名称为空时的渲染问题
  3. 修正了警告信息的排序问题
  4. 修复了移除可用模块时的子模块断开逻辑
  5. 改进了与 tsconfig-paths-webpack-plugin 的路径匹配一致性
  6. 解决了 ESM 热模块替换时的 panic 问题
  7. 优化了模块执行器的循环检查机制

文档更新

  • 新增了获取 compilation 对象的指南
  • 更新了默认 target 值和 browserslist 使用的说明
  • 迁移到了新的文档域名

总结

Rspack v1.3.13 版本在性能优化方面取得了显著进展,特别是 Rust 实现的 browserslist 解析器大大提升了配置解析效率。同时,新增的功能和修复的问题使得开发者能够获得更稳定、更高效的构建体验。对于正在使用或考虑使用 Rspack 的团队来说,这个版本值得升级。

随着 Rspack 生态的不断完善,它正逐渐成为现代前端构建工具中一个强有力的选择,特别是在对构建性能有高要求的场景下。

登录后查看全文
热门项目推荐
相关项目推荐