Skip to content

Monorepo

Monorepo 是一种仓库组织方式:把多个应用、库、配置包放在同一个 Git 仓库中维护。

它关注的是“代码放在哪里、如何协作、如何复用和发布”,不是某个具体工具。pnpm WorkspaceTurborepoNxRush 都只是实现 Monorepo 工作流时可能使用的工具。

适用场景

  • 多个应用共享组件、工具函数、配置或类型。
  • 前端、后端、文档、脚手架等项目需要统一工程规范。
  • 希望一次提交同时修改调用方和被调用方,减少跨仓库联动成本。
  • 希望统一依赖安装、版本约束、构建、测试和发布流程。

不适用场景

  • 项目之间几乎没有共享代码和协作关系。
  • 团队没有维护统一工程规范的能力。
  • 仓库规模很大,但缺少任务编排、缓存、权限和 CI 拆分能力。
  • 不同项目需要完全独立的生命周期、权限模型和发布节奏。

常见组合

bash
pnpm Workspace + Turborepo
  • pnpm Workspace:管理包、依赖、本地包链接和 workspace 范围命令。
  • Turborepo:编排任务、处理任务依赖、并行执行和缓存。

基于 MIT 许可发布