module.exports与exports区别
-
exports是module.exports的一个引用;exports = module.exports = {};
-
require引用模块后,返回给调用者的是module.exports而不是exports
知道以上两点应该就明白他们之间的区别了。简单的说实际上require返回的是module.exports,而默认module.exports是个空对象,exports变量指向module.exports。所以如果你想复写exports,直接写exports = xxx; 肯定是不行的,因为这只是改变了变量exports的引用,并没有改变module.exports,所以就只能写成 module.exports = xxx;