今天遇到一个问题求解释,我打了个测试代码复现: test1.js文件: var test2 = require("./test2"); function test1(){ console.log(“test1”); } module.exports = { test1: test1 }; //exports.test1 = test1; test2.test2() test2.js文件: var test1 = require("./test1"); function test2(){ console.log(“test2”); test1.test1(); } module.exports = { test2: test2 }; 在test1文件中,若使用module.exports的情况,由于test1和test2文件的相互引用 会报错 TypeError: test1.test1 is not a function 但是test1文件中改为exports.test1 = test1; 则不会报这个错误。这是为什么;引用的不都是module.exports吗。。