2012-07-30 16 views

Respuesta

69

Cambio a.js para exportar la variable:

exports.test = "Hello World"; 

y asignar el valor de retorno de require('./a.js') a una variable:

var a = require('./a.js'); 
console.log(a.test); 

Otro patrón usted verá a menudo y, probablemente, utilizar es la asignación de algo (un objeto, función) para el objeto module.exports en a.js, así:

module.exports = { big: "string" }; 
+2

¿podemos seguir usando este archivo js (a.js) en html? – 0x016F2818

18

Estás entendiendo mal lo que debería estar sucediendo. Las variables definidas en su módulo no son compartidas. NodeJS los alcanza.

Tienes que devolverlo con module.exports.

a.js

module.exports = "Hello World"; 

b.js

var test = require('./a.js'); 
console.log(test); 
+0

que fue rápido. – rdrey

+0

@rdrey: Lo mismo para usted –

0

si quieres exportar la variable en otro archivo. Hay dos patrones. Una de ellas es a.js
global.test = "Hello World"; // test aquí es variable global, pero va a ser contaminada

El otro es
a.js module.exports.test = "Hello World"; o exports.test = "Hello World"; b.js var test = require('./a.js'); // prueba en b.js puede obtener la prueba en a.js console.log (test);