Javascript 如何从节点中的required()文件访问全局变量?
假设我有两个文件:Javascript 如何从节点中的required()文件访问全局变量?,javascript,node.js,commonjs,Javascript,Node.js,Commonjs,假设我有两个文件:main.js,和module.js: //main.js const myModule = require('./module'); let A = 'a'; myModule.log(); //module.js module.exports = { log() { console.log(A); } } 调用myModule.log时,未定义A。是否有任何方法可以使main.js中的全局变量在module.js中可用?谢谢。A不是全局变量
main.js
,和module.js
:
//main.js
const myModule = require('./module');
let A = 'a';
myModule.log();
//module.js
module.exports = {
log() {
console.log(A);
}
}
调用
myModule.log
时,未定义A
。是否有任何方法可以使main.js
中的全局变量在module.js
中可用?谢谢。A
不是全局变量。每个模块本身都封装在一个函数中,a
是该函数的本地模块。您需要显式地传递对变量的引用
module.exports = {
log(a) {
console.log(a);
}
}
//...
//main.js
const myModule = require('./module');
let A = 'a';
myModule.log(A);
A
不是全局变量。每个模块本身都封装在一个函数中,a
是该函数的本地模块。您需要显式地传递对变量的引用
module.exports = {
log(a) {
console.log(a);
}
}
//...
//main.js
const myModule = require('./module');
let A = 'a';
myModule.log(A);
动武,
动武,
查看
globals
对象,但为什么要这样做?你可能在这里有点XY问题(用谷歌搜索)。查看globals
对象,但你为什么要这样做?你可能有点XY问题在这里(谷歌它)。