我正在構建一個相當大的node.js客戶端庫,我希望能夠'命名空間'的一部分,以保持它更有組織。例如:命名空間一個JavaScript類,但保留相同的'這'
var client = new Client(config);
client.activities.get(activityId, function(activity) {
...
});
...
client.user.get(userId, function(user) {
...
});
我正在試圖做的模塊中是這樣的:
function Client(config) {
this.config = config;
}
Client.prototype.activities = require('./activities');
Client.prototype.user = require('./user');
module.exports = Client;
但是當「GET」是所謂的活動「子模塊」中,「本」是當然,對於模塊而言,而不是外部客戶端功能。基本上,這兩個子模塊都需要訪問外部配置信息(本例中爲'config')。在node.js中做這件事的最佳做法是什麼?
我用來設置一個變量以外的方法將值設置爲此。我不知道是否有更好的做法,但也許可以解決你的問題 – Pablo
你需要一個包裝方法,在你想要的''Client.prototype.activities_method = function(foo){return this.activities [foo] .apply(this,Array.prototype.slice.call(arguments,1));};} –