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

时间:2015-07-24 03:45:13

标签: javascript node.js

我需要在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}}技术,但我不确定如何在这种情况下使用它们。