手把手教你构建一个 monorepo 的库

本文详细介绍了如何使用pnpm来构建和管理一个多项目(monorepo)的库,包括安装pnpm、初始化子项目、配置依赖安装策略以及子项目间的依赖关系处理。
摘要由CSDN通过智能技术生成

使用 pnpm 构建一个 monorepo 的库

1. 安装 pnpm,有则跳过

npm install pnpm -g

2. 初始化目录

pnpm init

3. 创建配置文件

在根目录下创建 pnpm-workspace.yaml 文件,内容如下

packages:
  - "packages/**"

4. 创建子仓目录

创建 packages 文件夹

5. 创建 2 个子仓

packages 目录下,创建 subProject1subProject2 目录,分别进入执行 pnpm init

此时目录结构如下

在这里插入图片描述

6. 依赖安装

monorepo 的依赖可以安装在主仓中,也可以安装在子仓中,通常在主仓中执行命令

  • 通常我们把一些公用的依赖安装在主仓中,例如 prettiereslint 等,使用 -w
pnpm add prettier -D -w
  • 将一些子仓专用的依赖安装在子仓中,使用 --filter [子仓名]
pnpm add xxx --filter subProject1

7. 子工程依赖其他子工程

在子工程中安装依赖时,会优先寻找其他子仓的同名依赖,通过软链接的方式安装到子仓中,没有才会去 npm 上面找

pnpm add subProject2 --filter subProject1

此时,观察一下 subProject1package.json 文件

// ...
"dependencies": {
    "subProject2": "workspace:^"
}

观察一下 subProject1node_modules 文件夹,你会发现 subProject2 是一个符号链接

在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值