Lerna github 地址:www.lernajs.cn/
npm 项目初始化流程
- 初始化 npm 项目
npm init -y
- 安装 lerna
npm install -g lerna
- 初始化多包配置
lerna init
创建 package
-
创建 package
lerna create pkgName [location]
location 表示要存放的目录。
-
安装 package 依赖
lerna add dependencyName [pkgPath]
pkgPath
表示要安装依赖的包路径,如果没有输入该路径,则 lerna 会默认对所有的包都安装dependencyName
。 -
清空所有包的依赖
lerna clean
-
连接依赖
lerna link
示例:在
@web-cli/core
中写入@web-cli/utils
依赖,然后使用lerna link
会自动把该依赖链接到本地包 -
给所有包安装在
package.json
标明的依赖lerna bootstrap
npm 包开发和测试
-
执行 shell 脚本
-
lerna exec -- [command] [..args]
会为每个包都执行这个命令。
lerna exec -- rm -rf ./node_modules
-
lerna exec -- scope myPackage -- [command] [..args]
为
myPackage
这个包执行脚本命令。
-
-
执行 npm 命令
lerna run
示例:
lerna run test
发布上线
- 版本号变更
lerna version
lerna version 1.0.1
输入具体的版本号直接更新lerna version [major | minor | patch]
对应给第一、第二、第三位版本加1更新 注意:要lerna version
成功,必须要把代码git add
和git commit
。
- 查看有更改的包
lerna changed
- 计算有变更的内容
lerna diff [package-name]
- 发布上线
lerna publish
lerna publish from-package
可以避免有时检测不到更改的包。