2016-06-27 29 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);