1. 程式人生 > >nodejs中的相互引用

nodejs中的相互引用

有個a.js和b.js兩個檔案,它們在同個資料夾裡:

a.js

var b = require('./b');
console.log(b);
module.exports = 'a';

b.js

var a = require('./a');
console.log(a);
module.exports = 'b';

當我們在命令列中 node b,會是什麼結果

答案是
{}
a

為什麼?
因為在a.js中的第一句,去require b的時候,b還沒有執行完畢,所以b的module.exports就是{},所以得到的也就是{}
只有當b.js執行完畢,才能得到’b’

為了驗證這個架設,增加一個c.js

var b = require('./b');
var a = require('./a');
console.log(a,b);

答案是

{}
a
a b
得證!