我需要在Node.js中创建一个名称间隔干净的模块,通过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();
Utilities
,如下所示。 bind()
是我所指的名称空间。
我了解javascript call()
和{{1}}技术,但我不确定如何在这种情况下使用它们。
答案 0 :(得分:0)