1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

说明Yarn与Lerna管理monorepo使用

Yarnworkspace简介

Yarnworkspace是一种monorepo下管理依赖的机制,主要用于代码仓库中多个package的依赖管理。通过将共同的依赖提升,可以有效地避免包的重复安装。在根目录下,执行workspace机制,可以统一安装依赖到node_module,并生成yarn.lock,而不需要在单个package下再生成yarn.lock。

说明Yarn与Lerna管理monorepo使用

如何使用Yarnworkspace

要使用Yarnworkspace,首先需要启用工作区,可以通过在终端窗口中执行以下命令来添加workspaces-experimentaltrue到系统全局的.yarnrc中:

yarn config set workspaces-experimental true

然后,修改根目录的package.json文件,添加以下内容:

{
"private": true,
...
"workspaces": ["packages/*"]
}

在配置项中,private表示禁止发布根目录内容,workspaces表示设置工作区,指定在该声明workspace中package的路径,值是一个字符串数组,支持Glob通配符。

Lerna安装依赖的方式

Lerna安装依赖的方式是使用命令lerna bootstrap。该命令的作用是在每个子文件夹中生成版本lock文件和node_module,对依赖进行管理。

Yarnworkspace与Lerna结合

Yarnworkspace和Lerna可以结合使用,实现monorepo更好的管理。具体方式如下:

在配置lerna.json中,设置useWorkspaces: truenpmClient: yarn,同时在根目录的package.json中添加以下内容:

{
"private": true,
...
"workspaces": ["packages/*"]
}

其中,Yarn负责管理依赖,workspace会自动为package的引用设置symlink,仅在当前workspace中生效。Lerna负责版本的发布工作,对package之间的依赖,做好版本管理。

使用Yarnworkspace能够有效地减少项目的磁盘占用空间,让Yarn将项目中的共同依赖提升到根目录下进行安装,并自动设置软链接,方便调试。

另外,所有package使用同一个yarn.lock,更少造成冲突且易于审查。首次安装依赖可以使用lerna bootstrap命令,安装dependencies依赖可以使用yarn add -W [pkg],安装devDependencies依赖可以使用yarn add -D -W [pkg]

以上是本篇文章关于Yarn与Lerna管理monorepo的使用详细解析,欢迎关注后续更多精彩内容。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6648.html