Npm链接和共享模块实例

所以我使用npm链接来一次开发多个模块,但是它导致我与mongoose连接的问题,因为它不使用相同的实例。

如果我从字面上将我的第二个模块复制到我的主应用程序的node_modules文件夹,连接按预期工作,如果我通过github安装,则相同,问题是如果我做一个npm链接第二个模块有它自己的实例mongoose,而不是使用现有的连接在主应用程序。

有没有人知道这个解决方法?

所以不是完美的解决scheme,但我意识到,因为节点将总是检查父目录的node_modules文件夹,如果不存在当前目录的node_modules我把我所有的模块到同一个工作目录和npm安装mongoose和任何其他共享实例模块在那个目录里

它工作正常,但需要在父目录上安装npm的手动步骤,并从模块node_modules文件夹中删除

见下面我使用的结构

 |---workspace |-----node_modules -> install mongoose or other shared instance modules |-----mainApp |------node_modules -> delete mongoose or other shared instance modules |-----moduleOne |------node_modules -> delete mongoose or other shared instance modules |-----moduleTwo |------node_modules -> delete mongoose or other shared instance modules 

如果你正在使用peerDependencies你可以试试这个: https : peerDependencies

基本上它将所有的共享依赖关系链接到主包提供的依赖关系。