2016-06-27 13 views
1

Sagen wir, ich habe 2 Dateien: main.js und module.js:Wie Zugriff auf globale Variablen von erforderlichen() Datei in Node?

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


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

} 

Wenn myModule.log Aufruf wird A nicht definiert. Gibt es eine Möglichkeit, globale Variablen von main.js in module.js verfügbar machen? Vielen Dank.

+0

Schauen Sie sich die 'globals' Objekt, aber warum versuchen Sie, dies zu tun? Vielleicht haben Sie ein kleines XY-Problem (google it). – Scimonster

Antwort

2

Verwenden Kraft passieren, use global

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

Danke, funktioniert perfekt. –

2

A ist keine globale Variable. Jedes Modul ist selbst in einer Funktion verpackt, A ist lokal für diese Funktion. Sie müssen explizit Bezug auf Ihre Variable

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

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