Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从节点中的required()文件访问全局变量?_Javascript_Node.js_Commonjs - Fatal编程技术网

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问题在这里(谷歌它)。