背景
从单 package 迁移到 monorepo,记录 pnpm workspace + Turborepo 的关键配置。
目录结构
project/
├── packages/
│ ├── cli/
│ ├── worker/
│ ├── web/
│ └── shared/
├── pnpm-workspace.yaml
├── turbo.json
└── package.json
pnpm-workspace.yaml
[object Object], ,[object Object], ,[object Object],
turbo.json
[object Object], ,[object Object],[object Object], ,[object Object],[object Object], ,[object Object],[object Object], ,[object Object], ,[object Object],[object Object], ,[object Object], ,[object Object],[object Object], ,[object Object],[object Object],[object Object],[object Object], ,[object Object],[object Object], ,[object Object],[object Object],[object Object], ,[object Object],[object Object], ,[object Object],[object Object], ,[object Object],[object Object], ,[object Object], ,[object Object],[object Object], ,[object Object],[object Object], ,[object Object],[object Object], ,[object Object], ,[object Object],[object Object], ,[object Object],[object Object], ,[object Object], ,[object Object],[object Object], ,[object Object],[object Object],[object Object], ,[object Object],[object Object], ,[object Object],[object Object], ,[object Object], ,[object Object],[object Object], ,[object Object],[object Object],[object Object], ,[object Object],[object Object], ,[object Object],[object Object], ,[object Object], ,[object Object],[object Object], ,[object Object],[object Object],[object Object],[object Object], ,[object Object],[object Object], ,[object Object],[object Object],[object Object], ,[object Object], ,[object Object], ,[object Object],
共享包引用
[object Object], ,[object Object], ,[object Object],[object Object], ,[object Object], ,[object Object],[object Object], ,[object Object], ,[object Object], ,[object Object],
关键注意事项
- TypeScript 路径别名:在
tsconfig.base.json配置paths,各子包继承 - build 顺序:
^build确保被依赖的包先构建 - dev 模式:
persistent: true+cache: false避免缓存 dev server
常用命令
[object Object], pnpm --filter @project/cli add chalk ,[object Object], pnpm --filter @project/worker db:push ,[object Object], pnpm lint ,[object Object], pnpm build