何时将模块作为参数传递以及何时再次使用require?

时间:2015-11-13 16:51:33

标签: node.js mongoose

我知道以下内容......

  • 调用'require'加载模块(文件)并缓存它。
  • 后续调用'require'相同模块将加载缓存版本。

知道这一点,我们可以假设......

file1.js

var module = require('module');

module.name = 'lionpants';

file2.js

var module = require('module');

console.log(module.name); // "lionpants"

使用这些知识我认为如果你必须创建一个模块的实例并希望跨模块引用实例的状态,你只会传递一个模块的实例。一个例子是流行的Express模块​​,您可以在其中传递由模块创建的Express应用程序的实例。

  • 是否还有其他情况会将模块作为参数传递而不是仅仅在新模块中“要求”它?
  • 如果你没有传递'mongoose.connect('db')'实例,像Mongoose这样的模块会打开多个连接吗? IE:使用使用相同mongoose模块创建的模型时。

0 个答案:

没有答案