← 中文资源

简体中文版本

用 pnpm 工作区协议引导 monorepo

创建 pnpm 工作区并共享工具,用 workspace 协议声明跨包依赖,验证一包变更能触发依赖方重新构建。

阅读英文原文

一个仓库,一套工具链

pnpm 工作区让每个包共享同一锁文件、同一 TypeScript 配置和同一测试运行器。跨包依赖使用 workspace 协议,本地编辑立即可见,无需发布往返。

# pnpm-workspace.yaml
packages:
  - "packages/*"
  - "apps/*"

接好依赖

用 workspace:^ 引用本地包,pnpm 会将其符号链接到消费方。logger 的改动在下一次构建时对 web 应用立即可见,无需升版本。

{
  "dependencies": { "@repo/logger": "workspace:^" }
}

预期结果

pnpm -r build 按拓扑序构建,@repo/logger 的改动会触发 apps/web 重建,锁文件在全工作区唯一且共享。发布前需将 workspace 协议替换为真实版本号。