简介
lerna是一个多包管理工具。为什么使用lerna呢?这个还是要从项目上讲起,随着一个项目的逐渐变大。为了使各模块更加独立、易维护。拆分模块似乎成为了一种趋势。然而,这种趋势分为了两种方向,一是多模块多仓Multirepo(multiple repository),二是单体仓库 Monorepo(monolithic repository)。
Multirepo和Monorep优劣势对比如下:
Lerna,作为Monorepo管理多个模块的工具就正式进入视线里了。
如何使用
1. 安装
使用以下命令安装即可
npm install -g lerna
2. 初始化项目
lerna init
执行完命令会生成以下的目录结构
package.json
lerna.json
package(文件夹)
常用命令
- lerna init:初始化项目
- lerna bootstrap:会在各个package下运行npm install、npm run prepublish和npm run prepare。详细说明可以参考:https://github.com/lerna/lerna/tree/main/commands/bootstrap#readme
-
lerna bootstrap --npm-client=yarn:使用其他源
-
lerna bootstrap --hoist:将每个 package 下的依赖包都提升到工程根目录,来降低安装以及管理的成本
-
lerna publish:类似npm publish
参考
Lerna 官网:https://github.com/lerna/lerna/blob/master/README.md