我的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中的变量?
答案 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)中。模块的重点不是封装某些功能吗?如果是这样,它不应该依赖于现有或定义的外部变量。
理想情况下,您希望通过某种初始化函数或配置参数将所需信息传递到模块中。