多个模块的大型项目协作方式
推荐阅读:源自Babel的多包管理工具:Lerna
对于多个模块的大型项目的协作管理,一般地有multirepo、monorepo和submodules等多种方式:
multirepo是将多个模块分别分为多个仓库,早期的Babel(Babel6以前)使用的就是这种方式;
submodules是借助git的实现,在.gitmodules中写明引用的仓库,在主仓库中只保留必要的索引;
monorepo则是将相关的模块用单一的仓库统一管理。
社区偏向:
从目前前端工程的代码管理来看,monorepo 被很多超级repo选中。Babel、vue-cli、create-react-app都采用这种模式。