Why Monorepo
Monorepo, 单一代码库, 包含多个项目的单个仓库(相对 multirepo, 每个项目完全独立), 方便代码重用/组件库开发.
- "apps/*" apps/web, apps/doc # 多个app
- "packages/*"
- "components/*"
Monorepo 优点
- 容易维护, 提高开发效率, 更快速地代码重构
- 代码重用, 共享模块和工具链, 减少项目差异, 提高代码重用率(测试、构建、语法检查、部署)
- 容易协作, 同一代码库, 沟通和协作更容易
- 容易测试, 被影响的统一测试, 提高测试的效率
- 场景: react/vue/google/ms/微服务...