var Pomelo = module.exports = {};最后的= {}是什么意思。和var Pomelo = module.exports有什么区别
{} 就是一个空的Object
var Pomelo = module.exports = {}; // 相当于以下代码 module.exports = {}; var Pomelo = module.exports;
两者的区别就是后者没有重新设置module.exports的值。一般情况下这是没有问题的,但有时候会造成一些手误:
module.exports
// 正常的模块写法,模块输出 ooxx() 函数 exports.ooxx = function () { console.log('OOXX'); };
// 重置了module.exports var OOXX = module.exports = {}; // 还是使用原来的方法写是没办法输出这个ooxx函数的, // 因为此时的module.exports 和 exports 不是同一个对象 // 而载入模块时是读取module.exports作为其输出的 exports.ooxx = function () { console.log('OOXX'); }; // 这样写法可以正常输出: OOXX.ooxx = function () { console.log('OOXX'); }; // 为了避免出错,可以这样: var OOXX = exports = module.exports = {}
相关的帖子:http://cnodejs.org/topic/4faf88ee9f281d96650030aa
啊,懂了,谢谢
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
{} 就是一个空的Object
两者的区别就是后者没有重新设置
module.exports的值。一般情况下这是没有问题的,但有时候会造成一些手误:相关的帖子:http://cnodejs.org/topic/4faf88ee9f281d96650030aa
啊,懂了,谢谢