我想以某种方式创建一个全局单例模块。我将它用作上下文模块,我可以在任何模块中引用它。
我将使用它来访问我的网关(存储库)模块,以便在其他模块中使用,例如我的业务对象模块等。例如,让我说我有:
myBusinessModule.js
module.exports = {
find: function(id){
var user = context.userGateway.find(id);
}
};
所以我希望能够使用context
单例来获取我的节点应用程序中的其他模块。
就像在这里一样,这是Java,但我想在Node.JS中做同样的事情:CleanCodeCaseStudy
答案 0 :(得分:0)
根据您的评论,对我而言,您似乎想要这样的东西。如果我错误地理解你的要求,请纠正我。
使用require()
进行访问context.js
var context = {};
context.userGateway = require('../path/to/userGateway/module');
module.exports.context = context;
=====================================================================================
//usage in reference file
var context = require('/path/to/context/file');
module.exports = {
find: function(id){
var user = context.userGateway.find(id);
}
};
无需访问权限()
var context = {};
context.userGateway = require('../path/to/userGateway/module');
GLOBAL.context = context; // makes your context object accessible globally, just like, console, require, module etc.
=====================================================================================
//usage in reference file
module.exports = {
find: function(id){
var user = context.userGateway.find(id);
}
};