NodeJS:了解模块中的变量范围

时间:2015-03-30 18:18:45

标签: javascript node.js module

使用NodeJS v0.12.1,在下面,我试图将外部文件读入配置对象,并使用该对象提供的值执行一些测试。

我认为config将在before函数的范围内,但我在ReferenceError: config is not defined函数的第一行收到错误before。为什么config无法访问before

module.exports = {
  config                  : require('../../testconfig.json'),
  before                  : function (browser) {
    pass = config.pass;
    siteroot = config.local.address + config.local.subdir;
  },
  after                   : function (browser) {
    //we'll come up with something later....
  },
  'Testing the Login page': function (browser) {
    var greeting = 'Welcome, ' + user + '!';
    browser
        .url(siteroot)
        .waitForElementVisible('body', 1000)
        .setValue('input[id=UserNameEdit]', user)
        .setValue('input[id=PasswordEdit]', pass)
        .click('#LoginBtn')
        .pause(1000)
        .assert.containsText('#usergreeting', greeting)
  }
};

1 个答案:

答案 0 :(得分:1)

这不是范围问题。

config不是变量。它是对象的一个​​属性(或者一旦对象文字被评估完毕就会出现)。

您需要访问this.config