开发情况中少以来大概不依靠全局变量下的node_module。
polyrepo多git布局,只要能独立运行下令项目就切分为单独git堆栈。缺点如下
a. 须要git clone多个堆栈,而且运行差别的下令跑服务。
b. 代码复用率降落,公共函数通过复制或npm方式共享[将公共函数封装成独立的包发布到私有的npm堆栈,可以通过安装npm包来使用这些公共函数,方便与版本管理。]
c. 版本差别,新人继承本钱高,eslint,commitlint, prettier设置和changeslogs天生规则差别。
monorepo 在安装依靠,本地开发调试,ci构建,发布上线方面的上风。monorepo安装只装一次,但是多git的话,项目个数就是须要安装的次数。本地开发的过程中,monorepo在当前项目中使用多个终端会话,多git差别项目标终端下启动下令。monorepo提取工具和设置到独立包中,多git须要人为的将全部项目package.json的版本同一。服用代码就是复制大概是npm了,但是在monorepo中,通过workspace在本地简历炼器,通过tsconfig设置patchs获取代码提示,打包通过alias插件分析路径。在多git的下,实当代码格式同一,须要将eslint, tslint, prettier抽成npm包,并督促全部项目负责人接入。monorepo是通过workspace来引入。ci构建:多git各自构建。monorepo根据packagejson的依靠产出有向无环图。通过拓扑排序构建涉及到的项目。
monorepo有技能选型的,转头单独搞一个文章学习总结。涉及到幽灵依靠等等