lerna
# lerna
# lerna 简介
Lerna 是一个管理工具,用于管理包含多个软件包(package)的 JavaScript 项目。
# lerna 使用
- 1.安装
npm install lerna -g
- 2.流程
初始化项目->提交代码->发布
3.发布 npm 包操作步骤
- 先在 gitee 上建一个 git 仓库,git clone 下来
- lerna init 初始化项目,然后在 package 下建立 roninwz-demo1 文件夹,运行 npm init -y
- 修改根目录下 package.json,配置 repository
"repository": { "type": "git", "url": "https://gitee.com/roninwz/lerna-demo.git" }
1
2
3
4 - 提交代码到 git
- nrm 切换源到 npm,
nrm ls
nrm use npm
- npm login 输入用户名密码,(刚注册得账户需 npm 官网验证邮箱)
- lerna publish
# lerna 命令
- lerna init (初始化项目)
lerna init
参数:--independent/-i – 使用独立的 版本控制模式。
两种模式:
(1) 默认为固定模式(Fixed mode)
固定模式中,packages 下的所有包共用一个版本号(version),会自动将所有的包绑定到一个版本号上(该版本号也就是 lerna.json 中的 version 字段),所以任意一个包发生了更新,这个共用的版本号就会发生改变。
(2) -i 独立模式(Fixed mode)
独立模式允许每一个包有一个独立的版本号,在使用 lerna publish 命令时,可以为每个包单独制定具体的操作,同时可以只更新某一个包的版本号。此种模式时,lerna.json 中的 version 字段指定为 independent 即可。
- lerna bootstrap
为所有项目安装依赖,类似于 npm/yarn i
- lerna import pathToRepo
将本地路径 pathToRepo 中的软件包导入(import) packages/directory-name 中并提交 commit。
- lerna publish 发布
lerna publish --conventional-commits
会根据提交的 git commit 信息生成 change log
- lerna changed
检查自上次发布以来哪些软件包被修改过。
- lerna diff package?
列出所有或某个软件包自上次发布以来的修改情况。
- lerna run script
在每一个包含 script 脚本的软件包中运行此 npm 脚本。
- lerna ls(列出当前 Lerna 仓库中的所有公共软件包)
lerna ls
- lerna clean
删除所有包的 node_modules 目录
- 参考链接
lerna 管理前端 packages 的最佳实践 http://www.sosout.com/2018/07/21/lerna-repo.html (opens new window)