0

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

服务器.js

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

我的模块.js

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

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

4

1 回答 1

0

server.js:

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

我的模块.js:

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

但是,请记住,Node.js(和一般的 JavaScript)通常不鼓励使用全局变量。模块的目的不是封装某些功能吗?如果是这样,它不应该依赖于现有或正在定义的外部变量。

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

于 2013-09-24T00:58:46.040 回答