前言
有幸参加 9 月 21 日成都举办的第五届FEDAY
,其中,工程师王泽的《框架开发中的基础设施搭建》,重点介绍了白鹭引擎最新产品 Egret Pro 在 monorepo 方面的工程实践。不止白鹭引擎,目前很多大型的开源库项目,例如 vue,babel,react 等等,都采用 monorepo 去管理代码。
其实,不止是大型类库,monorepo 也适用于我们实际的业务开发场景。
我们通常都会将这些库拆分成多个,创建 git 仓库,打包上传 npm,这样貌似没有什么问题。
但是当库与库之间产生依赖的时候,问题就暴露出来,修改一个库,依赖它的库也要相应更新版本号,重新发包。当库越来越多,关系越来越复杂,这个维护的过程就相当头痛。
这个时候,Lerna 正好符合这样的场景。