Lerna 的基本使用

本文最后更新于:2022年4月22日 上午

多 package 管理工具 lenra 的基本使用

当我们项目大起来且项目间相互依赖的东西多起来,项目管理起来就会很困难,Leran的出现揭示了一个真理,当项目复杂度提升时,就需要做架构优化,

初始化 项目

执行以下命令

mkdir sunshine-cli
cd sunshine-cli
npm init -y

安装 Lerna

npm i lerna

这里我们也可以全局再安装一个,避免我们每次使用的时候都需要 npx leran,全局和本地都安装了的话, leran 会优先使用本地的

npm i lerna

初始化 Leran 项目

leran init

到这一步我们已经初始化好了一个项目,这个命令会帮我们生成一个 leran.json 文件和 packages 目录,我们这个项目的所有项目都在 packages 里面,

Leran 常用命令

package 间相互依赖的使用

如果我们想在其中一个 package 中引入另外一个 package,并且最终这俩都发布成独立的包。

创建 package

这里我们先创建两个 package

leran create core
leran create utils

执行完成后我们的目录会变成如下所示

引入模块

packages\utils\lib\utils.js 中新增以下内容

'use strict';

function add(number1, number2) {
    return number1 + number2;
}

module.exports = {
    add
}

packages\core\package.jsondependencies 中手动添加依赖

"dependencies": {
  "@sunshine-cli-dev/utils": "file:../utils"
}

然后在 packages\core 目录下执行 npm install

然后此时我们会发现该 package 中的 node_modules 中新增了我们刚刚我们手动定添加的依赖,如果我们进入到里面查看,会发现 这是一个软链接,类似于 windows 的快捷方式

然后我们在 packages\core 中就可以使用了,且我们也不用担心 packages\utils 中如果发生了更改会不生效的问题了

const { add } = require('@sunshine-cli-dev/utils')

console.log(add(1, 2));   // 3

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议,转载请注明出处。