Node.js未定义的变量

时间:2017-02-15 17:08:26

标签: javascript node.js

functions.js

var number;

function test(){

     number = 1;

}

exports.number = number;

在文件test.js中,我会尝试获取变量号:

var Functions = require('functions.js');
var test = Functions.number;
console.log(test);

但它总是返回undefined,解决此问题的最佳解决方案是什么? 全局变量是错误的吗?即使我尝试导出一个函数,它总是返回undefined

2 个答案:

答案 0 :(得分:1)

那是因为你的functions.js文件中的test()还没有被执行。简单地说,您只需要在导出上方添加一行:

var number;

function test(){

     number = 1;

}

test();

exports.number = number;

答案 1 :(得分:0)

如果functions.jstest.js位于同一目录中,请按以下方式进行操作:

var Functions = require('./functions');

但您仍然永远不会为number分配值,因为您不会致电test(),因此在您致电之前它仍会打印undefined

这是一个更完整的例子:

functions.js

var number = 0;
function test(){
    number = 1;
}
exports = {
    test: test,
    number: number
};

test.js

var Functions = require('./functions');

console.log(Functions.number); // prints 0
Functions.test();
console.log(Functions.number); // prints 1