lerna

lerna

一、使用lerna

安装lerna

npm i lerna -g

初始化项目

mkdir lerna-project
cd lerna-project
lerna init

lerna.json

{
"packages": [
"packages/*"
],
"version": "0.0.0"
}

yarn workspace

管理项目形成工作空间

1、将node_modules目录安装在根目录中,子项目都可以读到根目录的node_modules 2、整个项目只有一个yarn.lock文件 3、子项目会被link至根目录的node_modules中,这样允许我们在子项目中通过import直接引用另一个子项目(需执行yarn install)

开启workspace

package.json文件设置workspaces属性

{
"name": "root",
"private": true,
"workspaces": [
"packages/*"
],
"devDependencies": {
"lerna": "^3.22.1"
}
}

创建子项目

lerna create ihooks

安装依赖

默认情况下不能往根目录里面添加模块的,执行👇命令会忽略根空间依赖检查,将node_modules安装在根目录中

yarn add chalk --ignore-workspace-root-check

有时候我们需要将子项目独享的依赖安装在子项目中怎么办呢?执行👇面命令

yarn workspace ihooks add loadsh

子项目共享依赖

yarn install
// 或者
lerna bootstrap --npm-client yarn --use-workspaces
// --npm-client yarn使用yarn作为npm的客户端

其它命令

作用命令
查看子空间信息yarn workspaces info
删除所有node_moduleslerna clean / yarn workspaces run clean
重新获取所有的node_modulesyarn install --force
查看缓存目录yarn cache dir
清除本地缓存yarn cache clean

参考文档

yarnlerna