monorepo

介绍

monorepo是管理多个包的项目,可以理解为一个项目管理多个项目,这些项目可以是相互独立的,也可以是相互依赖的。

优点

  1. 代码复用非常简单 在 Monorepo 中,由于我们所有的代码都在同一个项目下,如果我们需要引用其他一些已经定义过的功能模块,会非常方便。

我们只需要将复用频率高的代码,单独抽离出来成为一个 shared 之类的项目,那么其他所有的项目都只需要直接引用这个项目下的代码就可以了。而不用将这个项目重新打包,再在其他项目中使用。

  1. 简化依赖管理 由于我们是在同一个项目下,因此对于第三方依赖的管理也会简化很多,像是之前多个项目可能有一些相同的第三方依赖包,每个项目都需要下载一遍,而我们使用 Monorepo 的框架重构项目之后,这些依赖包就可以避免重复下载,同时也能通过配置在不同的项目之间复用。

  2. 原子提交能让重构全局特性更容易 当我们的一个库会影响到很多个项目时,修改了这个库之后,以往我们需要一个一个去更新对应受到影响的项目,进行相应的兼容适配工作,而修改一个问题又可能导致另外一个兼容问题。


Mr.PDG大约 6 分钟monorepo