1
我有一個配置文件爲我的Node.js應用程序,它看起來是這樣的:的JavaScript對象是自內引用值
// Development specific configuration
// ==================================
module.exports = {
....
ip: "localhost",
//Rabbit MQ
rabbitmq: {
username: 'foo',
password: 'bar',
ip: 'amqp://'+this.username+':'+this.password+'@rabbitmq',
queues: {
name: 'foo'
}
},
....
};
這裏是模塊的樣子,我使用這個配置文件:
var config = require ('../../config/environment');
this.con = amqp.connect (config.rabbitmq.ip);
我收到未定義的用戶名和密碼:
amqp://undefined:[email protected]
我已經嘗試了多種方法如:
創建getter函數對象內部這樣的:
rabbitmq: { username: 'foo', password: 'bar', getUsername: function(){ return this.username; }, getpassword: function(){ return this.password; }, ip: 'amqp://'+this.getUsername()+':'+this.getpassword()+'@rabbitmq',
創建自值並分配 '這個' 和引用它:
self: this, ... ip: 'amqp://'+self.rabbitmq.username+':'+self.rabbitmq.password+'@rabbitmq',
..
我不能g將範圍正確地工作。我缺少一些基本的東西嗎?我怎樣才能做到這一點? 請幫忙。
你能試試這個ip:'amqp://'+ username +':'+ password +'@ rabbitmq', –
ip:'amqp://'+ username +':'+ password +' @rabbitmq', ^ ReferenceError:用戶名未定義 – TitaniuM
作爲表達式的一部分 - 「this」包含您正在運行的當前範圍的值。所以你想做的事情是不可能的(並且不需要誠實)。 – zerkms