本文最后更新于 429 天前,其中的信息可能已经有所发展或是发生改变。
如果你是个js开发者,你肯定会有一个疑惑,为什么在拥有多个子模块的时候,每个子模块都是各自拥有独立的依赖包环境,是否对于子模块之间的互引用而引起的依赖冲突感到厌烦,这一切都可以通过Rush来得到解决。
特性:
- 为大规模项目准备:支持并行构建,子集构建和增量构建(后续还会有分布式多机构建)。
- 为大型团队设计:强一致性的依赖版本,不同子集可以独立版本控制策略,私有发布等。
- 无依赖幻影:Rush的隔离符号链接模型消除了NPM幻想依赖,确保不会导入package.json中缺少的库。
- 无NPM分身:不会在每个子集中都有node_modules文件夹了。
- 易于管理:Rush帮助确保安装和构建是完全确定的,甚至于Rush引擎也会根据Git分治自动安装。
- 一站式解决方案:Rush是统一的编排器,可以安装、链接、构建、生成更改日志、发布和更新版本。
- 开放模型:在Rush存储库中,每个项目文件夹保持完全独立,可单独安装,并且在需要时易于重新定位。
安装Rush:
npm install -g @microsoft/rush
日常命令:
# 拉取最新
$ git pull
# 安装需要的依赖
$ rush update
# 重构
$ rush rebuild
# 进入子模块
$ cd ./my-project
# 类似于 npm run start
$ rushx start
以上就是关于Rush的介绍。