所以我使用npm链接一次开发多个模块,但它导致我与猫鼬连接的问题,因为它不使用相同的实例。Npm链接和共享模块实例
如果我直接将我的第二个模块复制到我的主应用程序的node_modules文件夹中,则连接按预期工作,如果我通过github安装,则相同,问题是如果我执行npm链接,第二个模块具有自己的猫鼬实例,而不是使用主应用程序中的现有连接。
有没有人知道这方面的任何解决方法?
所以我使用npm链接一次开发多个模块,但它导致我与猫鼬连接的问题,因为它不使用相同的实例。Npm链接和共享模块实例
如果我直接将我的第二个模块复制到我的主应用程序的node_modules文件夹中,则连接按预期工作,如果我通过github安装,则相同,问题是如果我执行npm链接,第二个模块具有自己的猫鼬实例,而不是使用主应用程序中的现有连接。
有没有人知道这方面的任何解决方法?
所以并不是完美的解决方案,但我意识到的是,因为如果不存在的节点会经常检查父目录的node_modules
文件夹的当前目录的node_modules
我把我所有的模块在同一个工作目录,故宫安装了猫鼬和任何该目录中的其他共享实例模块。
它的工作很好,但需要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://www.npmjs.com/package/npm-dedupe-symlinked-peer-deps
基本上它会把所有的共享依赖链接到主包提供的链接上。