对于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
posted @   skylei  阅读(426)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示