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"
例如:
this
在SDK
需要可以在SDK.Utilities.callAPI();
访问SDK.Utilities.callAPI();
,如下所示。 Utilities
是我所指的名称空间。
我知道JavaScript的bind()
和call()
技术,但我不知道如何在这种情况下使用它们。