Node.js继承局部变量

时间:2013-09-24 00:47:32

标签: node.js

我的server.js中有一个变量,我们称之为'a'。当我需要一个模块时,它无法访问变量a。例如:

server.js

myModule = require('./myModule.js');
var a = 'Hello!'
myModule.say();

myModule.js

exports.say = function () {
    console.log(a);
}

我怎样才能使myModule.js可以在没有函数参数的情况下访问server.js中的变量?

1 个答案:

答案 0 :(得分:0)

<强> server.js:

myModule = require('./myModule.js');
global.a = 'Hello!'
myModule.say();

<强> myModule.js:

exports.say = function () {
    console.log(global.a);
}

但是,请记住 globals 通常不在Node.js(以及一般的JavaScript)中。模块的重点不是封装某些功能吗?如果是这样,它不应该依赖于现有或定义的外部变量。

理想情况下,您希望通过某种初始化函数或配置参数将所需信息传递到模块中。