Monorepo(Monolithic repositorie)是一种将多个项目存放在同一个代码仓库中的开发策略。传统的开发流程中,一个项目使用一个代码仓库,然而一个产品可能需要多个项目来支持,多个项目之间互相依赖,依赖关系、编译顺序、版本管理、发布顺序互相不明朗,多个项目可能存在重复的部分(例如,前后端接口定义,protobuf),由于不在一个代码仓库中,维护起来十分不方便。Monorepo 的核心观点是所有的项目在一个代码仓库中,使用一套编译脚本来处理互相之间的依赖关系,但大部分人实际仍旧在少数的几个仓库内文件夹工作。