本文主要是介绍每天一个小知识:Monorepo,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Monorepo
解释:
- mono指单一的,repo是仓库的简写。
“mono” meaning ‘single’ and “repo” being short for ‘repository’
所以Monorepo指单一的仓库,是将多个项目在同一个仓库中开发的策略。
优点:
-
可以轻易的实现代码复用:可以把共用的代码放在共享的文件夹下,每个项目直接导入就可以使用
-
简化了第三方库的管理:可以将多个项目共同依赖的库放在共用的位置
-
原子提交:当多个项目在多个仓库中分别开发的时候,一个项目的发版需要记录其他依赖项目的版本号,从而确保项目稳定可用,而在monorepo里面,所有的项目都在一个仓库,每次提交都保证多个项目可以被同步改动,自然也保证了项目稳定可用。可以避免在大型项目中的依赖地狱问题
-
可以进行大规模重构:因为开发人员可以访问整个项目,可以确保项目的每个部分都能被重构到,并且重构之后可以继续正常运行
-
跨团队协作
局限:
- 失去了精确的版本信息:多个项目在同一个仓库,就只有对这个仓库的版本信息,而每个项目的独立版本信息则没有被记录
- 缺少对项目的控制:每个项目的参与人都可以访问仓库中的完整代码,即使是他不需要关心/无权限访问的部分。这个问题可以通过基于路径的授权限制对仓库某些部分的访问进行解决
- 需要更多的存储空间:如果分割多个项目到不同仓库,开发的时候只需要拉取你关心的代码。而使用monorepo,就需要将仓库中的全部代码拉下来,因此就需要更多的空间。
这篇关于每天一个小知识:Monorepo的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!