有个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
得证!