Node.js – 将上下文传递给函数属性中的嵌套对象

我需要在Node.js中创build一个干净的命名空间模块,通过require()将其分解成子模块,并将根环境/作用域传递给名称空间中的方法。

 // index.js var SDK = function(data){ this.data = data; }; SDK.prototype.Utilities = require('./utilities'); module.exports = function(data) { return new SDK(data); }; // utilities.js module.exports = { callAPI: function() { console.log(this.data); } }; // Use-case (somewhere in the node.js app...) var SDK = require('./index')("this is some data"); SDK.Utilities.callAPI(); // Should return "this is some data" 

例如:

thisSDK需要可以在SDK.Utilities.callAPI();访问SDK.Utilities.callAPI(); ,如下所示。 Utilities是我所指的名称空间。

我知道JavaScript的bind()call()技术,但我不知道如何在这种情况下使用它们。