我的 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 中的变量?
我的 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 中的变量?
server.js:
myModule = require('./myModule.js');
global.a = 'Hello!'
myModule.say();
我的模块.js:
exports.say = function () {
console.log(global.a);
}
但是,请记住,Node.js(和一般的 JavaScript)通常不鼓励使用全局变量。模块的目的不是封装某些功能吗?如果是这样,它不应该依赖于现有或正在定义的外部变量。
理想情况下,您希望通过某种初始化函数或配置参数将所需信息传递到模块中。