2012-07-30 30 views

回答

69

變化a.js導出的變量:

exports.test = "Hello World"; 

require('./a.js')的返回值賦給一個變量:

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

另一種模式,你會經常看到和可能使用是分配的東西(對象,函數)的module.exports對象a.js,就像這樣:

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

我們還可以在html中使用這個js文件(a.js)嗎? – 0x016F2818 2016-03-22 07:06:52

18

您誤解了應該發生的事情。您的模塊中定義的變量不共享。 NodeJS範圍它們。

您必須將其退回module.exports

a.js

module.exports = "Hello World"; 

b.js

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

很快。 – rdrey 2012-07-30 17:36:28

+0

@rdrey:同上你 – 2012-07-30 17:45:24

0

,如果你想將變量導出到另一個文件中。有兩種模式。 一個是 a.js
global.test = "Hello World"; //測試這裏是全局變量,但它會被污染

另一種是
a.js module.exports.test = "Hello World";或exports.test = 「Hello World」 的; b.js var test = require('./a.js'); //在b.js中測試可以在a.js中獲得測試 console.log(test);