Rspack v1.2.3 版本发布:性能优化与新特性解析
Rspack 是一个基于 Rust 的高性能构建工具,它结合了 Webpack 的生态系统和 Rust 语言的性能优势,旨在为现代前端开发提供更快的构建体验。作为 Webpack 的替代方案,Rspack 在保持兼容性的同时,通过底层优化显著提升了构建速度。
性能优化亮点
本次 v1.2.3 版本在性能方面做了多项重要改进:
-
核心依赖升级:将
swc_core更新至 v13 版本,这是 Rspack 底层使用的 Rust 编译工具链,新版本带来了更高效的代码转换能力。 -
存储优化:在加载完成后释放打包内容的内存占用,这一改动显著降低了长时间构建过程中的内存压力,对于大型项目尤为有利。
-
编译速度提升:通过优化内部编译流程,减少了不必要的计算和内存操作,使得整体编译时间进一步缩短。
这些优化使得 Rspack 在处理复杂项目时能够保持更稳定的性能表现,特别是在增量构建场景下效果更为明显。
值得关注的新特性
1. 增强的模块系统 API
本次版本扩展了模块系统的 JavaScript API,新增了多个实用功能:
- 支持获取模块图中缺失的模块信息
- 提供了更完整的模块元数据访问能力
- 实现了 chunkGroup.childrenIterable 和 dependency.ids 等实用属性
这些 API 的增强使得插件开发者能够更灵活地操作模块依赖关系,为高级定制提供了更多可能性。
2. 分层(layer)功能支持函数配置
现在 layer 选项不仅支持静态配置,还可以通过函数动态生成。这一改进使得开发者可以根据模块的不同特性(如路径、内容等)动态决定其所属层级,为更精细的代码分割策略提供了支持。
3. CSS 层(layer)与媒体查询支持
CSS 处理能力得到增强,现在能够正确处理 CSS 层与媒体查询的组合场景。这意味着开发者可以更自由地使用现代 CSS 特性,而不用担心构建过程中的兼容性问题。
4. 原生插件支持
引入了 Rsdoctor 原生插件,这是一款专为 Rspack 设计的诊断工具,能够提供更深入的构建过程分析和性能诊断能力。同时,还添加了原生真实内容哈希(real content hash)插件支持,优化了长期缓存策略。
重要问题修复
-
AMD 模块处理:修复了 AMD 模块中数组形式的 require 调用问题,以及模块别名在 AMD 环境下的重命名问题。
-
增量构建:解决了增量构建时可能出现的模块重建问题,确保在修改代码后能够正确识别变更范围。
-
资源哈希:优化了资源哈希生成逻辑,避免不必要的重新构建。
-
别名解析顺序:修正了模块别名解析的顺序问题,确保配置的优先级得到正确应用。
开发者体验改进
-
默认项目模板更新:create-rspack 现在默认创建 React 19 项目,帮助开发者快速上手最新技术栈。
-
文档增强:全面改写了插件使用指南和配置文档,增加了大量实用示例,特别是针对模块解析器和生成器的配置说明。
-
错误处理改进:构建统计信息(toJson)现在会正确抛出异常,而不是静默失败,便于开发者及时发现和解决问题。
总结
Rspack v1.2.3 版本在保持稳定性的同时,通过多项性能优化和新特性增强了构建能力。特别是对模块系统的扩展和原生插件支持,为复杂项目的构建提供了更多可能性。对于正在使用或考虑迁移到 Rspack 的团队,这个版本值得关注和升级。
随着 Rust 在前端工具链中的普及,Rspack 正在成为一个兼具性能和生态优势的构建工具选择。其持续的迭代更新也展示了团队对开发者体验的重视,未来值得期待更多创新功能的加入。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0220
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0140
uni-appA cross-platform framework using Vue.jsJavaScript09
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03