npm开发期间的peerDependencies

phi*_*lee 3 node.js npm

建立:

models

  • 在多个应用程序中使用的常见mongoose模型
  • peerDependencies:"mongoose"

app

  • 依赖:"mongoose","模特"
  • 通过模型链接 app> npm link models

问题:

开发时models,我需要安装mongoose node_modules,否则找不到猫鼬.

但是,当使用modelsunder时app,如果mongoose存在于node_modulesin中models,它将使用该副本而不是共享同一个mongoose实例app.

我现在开始工作的方式是在开发时安装mongoose models,然后在使用它时删除它app.我已经研究过,parent-require但这似乎只解决了npm链接没有从父级找到包的问题,​​而不是必须删除/安装node_module的问题(或者我这样做不正确?)

相关: 在多个NPM包之间共享Mongoose实例

phi*_*lee 9

我已经开始使用require.main.require而不是require需要共享实例的模块.

例如,require.main.require('mongoose')将保证仅使用顶级猫鼬.