TECHFLOW
JOURNAL
返回列表
开发
2024-05-20
10 分钟
1874

用 pnpm Workspace 搭建 Monorepo 最佳实践

pnpm Monorepo 工程化

为什么选择 pnpm?

pnpm 使用硬链接和符号链接避免重复安装,节省磁盘空间,且原生支持 workspace。

目录结构

my-monorepo/
├── pnpm-workspace.yaml
├── package.json
├── apps/
│   ├── web/
│   └── api/
└── packages/
    └── ui/

pnpm-workspace.yaml

packages:
  - "apps/*"
  - "packages/*"

内部依赖

{
  "dependencies": {
    "@my/ui": "workspace:*"
  }
}

过滤执行

# 只构建 web 应用及其依赖
pnpm --filter web... build

CI 缓存策略

缓存 ~/.pnpm-store 可大幅提速,配合 pnpm install --frozen-lockfile 保证可复现构建。

评论交流 (0)

T

TECHFLOW.BLOG