如何从Node中的required()文件访问全局变量?

时间:2016-06-27 12:45:20

标签: javascript node.js commonjs

假设我有2个文件:main.jsmodule.js

//main.js
const myModule = require('./module');
let A = 'a';
myModule.log();


//module.js
module.exports = {
   log() {
       console.log(A);
   }

}

调用myModule.log时,未定义A。有什么方法可以main.jsmodule.js提供全球变量吗?感谢。

2 个答案:

答案 0 :(得分:3)

使用force use global

const myModule = require('./module');
let A = 'a';
global.A = A
myModule.log();

答案 1 :(得分:2)

A不是全局变量。每个模块本身都包含在一个函数中,A是该函数的本地函数。您需要明确地将引用传递给您的变量

module.exports = {
   log(a) {
       console.log(a);
   }    
}

//...
//main.js
const myModule = require('./module');
let A = 'a';
myModule.log(A);