monorepo
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseMonorepo — Nx, Turborepo, pnpm Workspaces
Monorepo — Nx、Turborepo、pnpm Workspaces
Monorepo moderne avec caching distribué, task orchestration.
现代化Monorepo,支持分布式缓存与任务编排。
Tools
工具
Nx — Graph-based, plugins, enterprise
Turborepo — Simple, fast, Vercel
pnpm workspaces — Léger, fast
Lerna — Legacy (migrer)
Turborepo — Simple, fast, Vercel
pnpm workspaces — Léger, fast
Lerna — Legacy (migrer)
Nx — 基于图结构、支持插件、企业级适用
Turborepo — 简洁、快速、适配Vercel
pnpm workspaces — 轻量、快速
Lerna — 旧版工具(建议迁移)
Turborepo — 简洁、快速、适配Vercel
pnpm workspaces — 轻量、快速
Lerna — 旧版工具(建议迁移)
Turborepo
Turborepo
json
{ "pipeline": {
"build": { "dependsOn": ["^build"], "outputs": ["dist/**"] },
"test": { "cache": true }
}}bash
pnpm turbo build # Cache
pnpm turbo test --filter=...@mainjson
{ "pipeline": {
"build": { "dependsOn": ["^build"], "outputs": ["dist/**"] },
"test": { "cache": true }
}}bash
pnpm turbo build # Cache
pnpm turbo test --filter=...@mainNx
Nx
bash
nx affected --target=build
nx graphbash
nx affected --target=build
nx graphCode Sharing
代码共享
monorepo/
├── packages/ (ui, utils, config)
├── apps/ (web, api, mobile)typescript
import { Button } from '@monorepo/ui';monorepo/
├── packages/ (ui, utils, config)
├── apps/ (web, api, mobile)typescript
import { Button } from '@monorepo/ui';Caching
缓存
Local — Dev | Remote — Team (Vercel, Nx Cloud) | Distributed — CI
bash
npx turbo login && npx turbo link # Turborepo
npx nx connect-to-nx-cloud # Nx本地缓存 — 开发环境 | 远程缓存 — 团队协作(Vercel、Nx Cloud) | 分布式缓存 — CI环境
bash
npx turbo login && npx turbo link # Turborepo
npx nx connect-to-nx-cloud # Nxpnpm Workspaces
pnpm Workspaces
yaml
packages: ['packages/*', 'apps/*']yaml
packages: ['packages/*', 'apps/*']Best Practices
最佳实践
Atomic commits | Versioning () | CI (affected) | Shared configs (root)
changesetsVoir
@.claude/skills/tooling/SKILL.md原子提交 | 版本管理() | CI集成(仅构建受影响的项目) | 根目录共享配置
changesets详见
@.claude/skills/tooling/SKILL.md