如何在node.js中获取多个模块实例?

时间:2015-03-03 14:05:02

标签: node.js

在nodejs模块中是单例。我创建了一个模块,它接受配置对象并返回一些对象。但最后我将有单个模块实例。如何为不同的配置设置多个实例?(每次需要时,它应该是不同的实例。如何实现?)

3 个答案:

答案 0 :(得分:7)

导出构造函数并且没有隐式状态:

您当前的代码如下所示:

module.exports = { ..}; // some object

而是导出构造函数:

module.exports = function(){
    // initialize module here, no global variables
    return { .. };
};

答案 1 :(得分:3)

仅返回构造函数并为单例提供专用模块:

LIB / user.js的:

module.exports = function () { ... }

LIB / currentUser.js:

module.exports = new (require('./user'))();

答案 2 :(得分:0)

我创建了一个具有特定用途的模块,除了提供添加和检索之外,您还可以为构造的项目定义默认参数。 查看here