痛点
日常开发中, 往往我们在项目中引用的很多依赖包,但是随之依赖包的升级,我们的项目之间的依赖就越来越难以维护,包与包之间版本的引用也让我们头疼。
Lerna 包管理
正如官网所说的,Lerna 是一个管理工具,用于管理包含多个软件包(package)的 JavaScript 项目,对于使用 git 和 npm 管理多软件包代码仓库的工作流程进行了优化。
如何安装使用 Lerna
npm i lerna -g
全局安装
新建文件夹 teach-lerna, cd teach-lerna
, 初始化项目 lerna init
,可以看到初始化项目的目录如下:
lerna 配置
lerna
配置如下:
{
"version": "0.0.0",
"workspaces": true,
"npmClient": "yarn"
}
package.json
配置如下
{
"name": "root",
"private": true,
"devDependencies": {
"lerna": "^4.0.0"
},
"packages": [
"packages/*"
]
}
lerna.json
中配置的 "npmClient": "yarn"
项是安装依赖通过 yarn
来执行安装的
npm 创建组织
登录 npmjs.com 注册后 点击头像的 Add Organization 新建一个自己的组织
新建组织后如下
Lerna 创建包
创建 @bobocode-todos/utils 包
lerna create @bobocode-todos/utils
执行命令后输入相应的值
目录如下
同理创建 @bobocode-todos/request 包
lerna create @bobocode-todos/request
此刻我们的 packages 文件夹下面就存在两个包
lerna 查看包
执行 lerna ls
lerna 同时为包添加依赖
以添加 lodash
为例,只需在根目录下执行
lerna add lodash