我们有三个单独的JavaScript UI,分别部署到不同的地方。我们称它们为A
,B
和C
。它们之间共享许多代码,因此我们想创建某种共享模块,我们将其称为S
。
我们正在使用git子模块在S
,A
和B
之间共享C
。这对于共享代码非常有用。问题在于S
拥有自己的package.json文件,并具有自己的要求。
如何让A
,B
和C
分别在其自己的node_modules目录中安装S
的依赖项?似乎最好的解决方案是从A/package.json
和S/package.jso
n读取yarn(或npm)并解决依赖关系,然后将其安装在A/node_modules
中。
我尝试为S
本身单独安装软件包,因此S
有自己的node_modules目录。但是后来我安装了多个版本的某些依赖项(一个在A
中,一个在S
中),并且我的构建系统感到困惑。
处理这种情况的最佳方法是什么?
我还应该提到我们需要此设置,因为这样可以在yarn start
中运行A
,并且当我对其嵌套的S
安装进行更改时,它会被热加载构建系统。