ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

对于Monorepo的理解

2022-02-23 14:31:55  阅读:222  来源: 互联网

标签:依赖 package 代码 对于 json 理解 Monorepo 项目


对于Monorepo的理解

传统的项目管理方式就是一个项目便新建一个代码仓库地址。 Monorepo核心就是把所有项目放在一个代码仓库中进行管理。然后不同
项目使用不同的文件夹进行管理,一般情况下,以Vue3为例Monorepo的项目架构是这样

├── packages
|   ├── pkg1
|   |   ├── package.json
|   ├── pkg2
|   |   ├── package.json
├── package.json

这样分割代码,每个项目的开发、其实只需要关注少数几个文件夹便可以了。

Menorepo 管理方案

参考 http://www.zyiz.net/tech/detail-141856.html

Monorepo 的优点

  • 可见性
    每个人都可以看到其他人的代码,这样可以带来更好的协作和跨团队贡献——不同团队的开发人员都可以修复代码中的bug,而你甚至都不知道这个bug的存在。
  • 更简单的依赖关系管理
    共享依赖关系很简单,因为所有模块都托管在同一个存储库中,因此都不需要包管理器。
  • 唯一依赖源
    每个依赖只有一个版本,意味着没有版本冲突,没有依赖地狱。
  • 一致性
    当你把所有代码库放在一个地方时,执行代码质量标准和统一的风格会更容易。
  • 共享时间线
    API或共享库的变更会立即被暴露出来,迫使不同团队提前沟通合作,每个人都得努力跟上变化。
  • 原子提交
    原子提交使大规模重构更容易,开发人员可以在一次提交中更新多个包或项目。
  • 统一的CI/CD 和 构建流程

Monorepo 的缺点

  • 性能差
    代码都聚集在一起,IDE, GIT 都会变得缓慢
  • 破坏主线
    每个人都可以提交代码,若主线遭到破坏,会影响到所有人。
  • 学习困难
    大量的代码都紧密耦合在一起,增加了学习成本
  • 权限管理困难
    GIT没有项目内目录的权限控制,只能通过人为的CodeView

标签:依赖,package,代码,对于,json,理解,Monorepo,项目
来源: https://www.cnblogs.com/stones-3/p/15927257.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有