为什么这样写可以输出?
 发布于 12 年前  作者 yiqianke  4298 次预览  最后一次回复是 12 年前  来自  

app.js

console.log(require("./test.js"));

test.js

var a = {}; a = exports; a.name = 222;

结果-> {name:222}

为什么会打印出a的结果。

如果改成 var a = {}; a.name = 222; a = exports;

结果 -> {}

2 回复
yiqianke

想了一下貌似明白了。 a = exports 这个时候a就等于exports了,因为exports = {}.所以a = {}; a.name 等于 exports.name;

leapon

module.exports 是系统建立的对象。 exports 指向 module.exports

你的理解是对的。