安装
npm i -g lerna
lerna init
此时项目中package.json如下:
{
"name": "root",
"private": true,
"workspaces": [
"packages/*"
],
"devDependencies": {
"lerna": "^5.5.1"
}
}
创建包
lerna create exception -y
lerna create performance -y
增加模块依赖
lerna add chalk // 为所有 package 增加 chalk 模块
lerna add semver --scope @mo-demo/cli-shared-utils // 为 @mo-demo/cli-shared-utils 增加 semver 模块
lerna add @mo-demo/cli-shared-utils --scope @mo-demo/cli // 增加内部模块之间的依赖
此时项目解构
package
|-- a
| |-- node_modules
| |-- src
| |-- package.json
|-- b
| |-- node_modules
| |-- src
| |-- package.json
package.json
lerna.json
可以将公共依赖统一放进根目录来管理
lerna bootstrap --hoist
此时项目解构
package
|-- node_modules
|-- a
| |-- node_modules
| |-- src
| |-- package.json
|-- b
| |-- node_modules
| |-- src
| |-- package.json
package.json
lerna.json
清理子目录依赖
lerna clean
此时项目解构
package
|-- node_modules
|-- a
| |-- src
| |-- package.json
|-- b
| |-- src
| |-- package.json
package.json
lerna.json
发布
lerna publish