lerna.js:monorepos项目管理模式简单实践
【摘要】
解释:
monorepos: 把相互依赖的项目组织成多包的形式放在同一个代码仓库里面lerna.js:管理项目的一个工具
文档:
https://lerna.js.org/
安装lerna
$ ...
解释:
- monorepos: 把相互依赖的项目组织成多包的形式放在同一个代码仓库里面
- lerna.js:管理项目的一个工具
文档:
安装lerna
$ pnpm i lerna -g
修改配置 lerna.json,设置包管理工具为:pnpm
{
"$schema": "node_modules/lerna/schemas/lerna-schema.json",
"useNx": true,
"useWorkspaces": true,
"version": "0.0.0",
"npmClient": "pnpm"
}
lerna init
# 初始化
$ lerna init
lerna create
# 创建三个新包
$ lerna create -y animal
$ lerna create -y cat
$ lerna create -y dog
文件目录
$ tree -I node_modules
.
├── lerna-debug.log
├── lerna.json
├── package-lock.json
├── package.json
├── packages
│ ├── animal
│ │ ├── README.md
│ │ ├── __tests__
│ │ │ └── animal.test.js
│ │ ├── lib
│ │ │ └── animal.js
│ │ └── package.json
│ ├── cat
│ │ ├── README.md
│ │ ├── __tests__
│ │ │ └── cat.test.js
│ │ ├── lib
│ │ │ └── cat.js
│ │ └── package.json
│ └── dog
│ ├── README.md
│ ├── __tests__
│ │ └── dog.test.js
│ ├── lib
│ │ └── dog.js
│ └── package.json
└── pnpm-lock.yaml
lerna list
列出所有的本地包
$ lerna list
info cli using local version of lerna
lerna notice cli v5.4.3
animal
cat
dog
lerna success found 3 packages
lerna add
添加本地包或者远程包作为包的依赖
# 添加的 animal 作为 dog、cat 的依赖
lerna add animal
# 向 dog 中添加 cat 作为依赖
lerna add cat --scope=dog
lerna link
建立存在依赖关系的包之间的软连接
$ lerna link
建立软链之后,就可以相互引用了
lerna bootstrap
建立相互依赖的包之间的软连接并安装其他的依赖
$ lerna bootstrap
lerna run
在包目录下执行对应的脚本
# 在所有的包目录下执行测试
$ lerna run test
# 在dog 包目录下执行测试
$ lerna run test --scope=dog
lerna clean
移除所有 package 下的 node_modules,除了根目录下的 node_modules
$ lerna clean
参考
Lerna 小白入门
文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。
原文链接:pengshiyu.blog.csdn.net/article/details/126638679
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)