Pnpm Workspace: 单仓库多项目(monorepo)
文章目录
pnpm vs npm vs yarn
- npm/yarn 采用了直接平铺的方式,而 pnpm 则是采用
.pnpm隐藏目录隐藏真实的平铺结构,在使用链接(symbollink)的方式将真实安装的目录映射到node_modules下- 参考链接(非常推荐):平铺的结构不是 node_modules 的唯一实现方式
- 天生支持 monorepo(workspace 特性,体验也比 lerna 或是 yarn workspace 好太多)
Workspace 实战(monorepo)
1. 构建项目
首先我们先构建出如下的项目结构
/pnpm_workspace
├── package.json
├── packages
│ ├── add-one
│ │ ├── index.js
│ │ ├── package.json
│ │ └── test.test.js
│ ├── add-two
│ │ ├── index.js
│ │ ├── package.json
│ │ └── test.test.js
│ └── adder
│ ├── index.js
│ └── package.json
├── pnpm-lock.yaml
└── pnpm-workspace.yaml
- 构建过程
mkdir pnpm_workspace
cd pnpm_workspace
# 构建根目录项目 & 添加 workspace 配置
pnpm init -y
touch pnpm-workspace.yaml
# 构建子项目
mkdir packages
cd packages
mkdir add-one
cd adder
pnpm init -y
cd ..
mkdir add-two
cd adder
pnpm init -y
cd ..
mkdir adder
cd adder
pnpm init -y
pnpm add add-one --workspace
pnpm

本文介绍了如何使用pnpm创建单仓库多项目(monorepo),对比npm和yarn,重点讲解了pnpm的workspace特性、项目构建、配置与启动指令,以及它对node_modules结构的优化。通过实例展示了pnpm在依赖管理和项目组织上的优势。
最低0.47元/天 解锁文章
5735

被折叠的 条评论
为什么被折叠?



