2016-06-27 30 views
1

比方说,我有2个文件:main.js,并且module.js如何从Node中的required()文件访问全局变量?

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


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

} 

当调用myModule.logA没有定义。有没有什么办法可以在module.js中提供main.js的全球变量?谢谢。

+0

检查出来的'globals'对象,但为什么你想这样做吗?你可能在这里有一些XY问题(谷歌它)。 – Scimonster

回答

2

使用武力,use global

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

谢谢,完美的作品。 –

2

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

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

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