首页
/ Rspress 2.0 Beta版发布:迈向纯ESM模块化的现代文档工具

Rspress 2.0 Beta版发布:迈向纯ESM模块化的现代文档工具

2025-06-27 20:25:48作者:郜逊炳

Rspress是一个基于React的现代静态站点生成器,专为技术文档场景设计。它继承了Rspack构建工具的高效特性,同时提供了丰富的文档功能支持。近日,Rspress发布了2.0版本的第一个Beta测试版,带来了一系列重要的架构升级和功能改进。

核心架构升级:全面转向ESM模块化

本次2.0 Beta版本最重要的变化是完成了所有包向"type: module"的迁移,实现了纯ESM模块化。这一改变意味着:

  1. 所有模块现在都使用标准的ES模块语法(import/export)
  2. 不再支持CommonJS的require语法
  3. 需要配合现代打包工具和运行时环境使用

这种转变使得Rspress能够更好地利用现代JavaScript生态系统的优势,包括:

  • 更清晰的模块依赖关系
  • 更好的tree-shaking优化
  • 更符合未来标准的代码结构

放弃对Node 16的支持

随着Node.js 16在2023年9月达到生命周期终点,Rspress 2.0决定放弃对Node 16的支持。现在最低要求的Node版本是18。这一决策带来了以下好处:

  1. 可以安全地使用Node 18引入的新特性
  2. 减少对老旧运行时的兼容代码
  3. 更轻松地集成依赖项,许多现代npm包已放弃对Node 16的支持

临时移除MDX-RS支持

在2.0版本中,Rspress团队决定暂时移除对MDX-RS的支持。这一决策基于以下考虑:

  1. 核心处理流程将统一使用mdxjs配合shiki实现
  2. 简化架构,便于功能迭代
  3. 未来可能会根据发展情况重新考虑MDX-RS的集成

开发者需要注意,如果项目中原先依赖了MDX-RS的特性,在升级到2.0版本时需要进行相应的调整。

性能优化与问题修复

除了上述重大变更外,2.0 Beta版本还包含了一些重要的优化和修复:

  1. 减少了react-router-dom的打包体积,提升运行时性能
  2. 移除了无用的peerDependencies,简化依赖管理
  3. 修复了样式相关的问题,确保UI一致性

总结

Rspress 2.0 Beta版本的发布标志着该项目向现代化架构迈出了重要一步。通过全面转向ESM模块化、放弃老旧Node版本支持以及简化核心处理流程,Rspress为未来的功能迭代和性能优化奠定了坚实基础。对于技术文档开发者而言,这是一个值得关注的升级版本,特别是那些希望利用最新JavaScript特性的团队。

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