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