Lerna 是一个多包(参考 monorepo)管理工具。
Lerna is a fast modern build system for managing and publishing multiple JavaScript/TypeScript packages from the same repository.
初始化项目
转到目标文件夹:
1 | lerna init |
默认工程结构:
├── lerna.json
├── package.json
└── packages
lerna.json 里的版本号默认是 0.0.0,可以改成其他的。
创建模块
1 | lerna create {pkg_name} [pkg_path] |
比如:
1 | lerna create @xesam/api |
为模块增加依赖
1 | lerna create {dependency_name} |
比如:
1 | lerna add axios # 给所有模块增加 axios 依赖 |
安装依赖
1 | lerna bootstrap |
如果无效,就直接手动执行:
1 | lerna exec npm install |
其他参考文章
https://juejin.cn/post/6844903856153821198
https://blog.51cto.com/u_14115828/3733816
https://lerna.js.org/