Monorepo:是一种代码仓库管理策略,其核心是将多个相关项目或模块的源代码集中存放在一个单一的版本控制仓库中。它主要解决的是开发时的代码共享、依赖管理和构建效率问题,通过统一的工具链和依赖 hoisting 机制,提升多项目协作的效率和一致性。
所有项目共享同一个物理代码仓库。依赖通过统一的 node_modules 进行管理(如使用 pnpm 的 hoisting 机制),避免“依赖地狱”。
强调原子化提交和统一构建。跨项目变更可以一次性提交,但随着项目规模增大,全量构建时间可能呈指数级增长,影响效率。
要求团队统一技术栈、工具链和编码规范,适合集中式技术治理的团队,能显著降低环境配置成本。