monorepo:项目代码管理方式,单个仓库中管理多个项目是一种设计思想
lenra:是一种工具,对于使用npm和git管理多软件包代码仓库的工作流程进行优化
使用这些工具的优点:
- 公共依赖只要安装一次,Monorepo 中所有模块都共享,也不会有多个项目依赖版本不一致的问题
- 可以看到所有代码,其他项目的新提交发生后也能立刻看到。
- 方便调试, 多个项目仓库情况下以npm link 到全局导入, 使用Lerna不需要了
常用的lerna命令
lerna init
:创建一个新的的 lerna repo。生成一个目录,其中包含 lerna.json 和 pacakge.json,以及一个空的 packages 文件夹lerna bootstrap
:等同于 lerna link + yarn installlerna publish
:运行这个命令会发布所有子项目 git 现在未发布的提交到 npmlerna run
:将执行所有子项目中定义在 package.json 中的同名的命令