Require dependency of another dependency in node modules

后端 未结 2 1636
灰色年华
灰色年华 2020-12-10 10:43

I\'ve got a simple node app that has single dependency on another app on github. The dependency installs just fine with npm install, but when I try to require s

相关标签:
2条回答
  • 2020-12-10 10:45

    Do I just have to include mongoose as a dependency as well in the parent app or is there a way of getting access to that module by way of the child?

    While it's possible for you to e.g. require('github/node_modules/mongoose'), the standard practice is to install all of your dependencies explicitly (i.e., you should include mongoose as a dependency of your app) and require('mongoose').

    0 讨论(0)
  • 2020-12-10 11:07

    For a more robust case, which is good in situations such as testing, you can use the following function:

    var Module = require('module');
    var path = require('path');
    
    function requireFrom(self, parent, name) {
      var pPath = Module._resolveFilename(parent, self);
      var m = new Module(pPath, module);
      m.filename = pPath;
      m.paths = Module._nodeModulePaths(path.dirname(pPath));
      return m.require(name);
    }
    

    which can be used as follows

    requireFrom(module, 'github_dependency', 'mongoose')
    
    0 讨论(0)
提交回复
热议问题