首页 > 新手学习NodeJs的一个小问题

新手学习NodeJs的一个小问题

看的书是《Node.js 开发指南》,问题如图:


这上面说exports是和module.exports指向同一个对象的变量,那么给exports赋值不就等于再给module.exports赋值了吗?为啥这里不可以呢?


简单的说,当前模块的导出对象总是指向module.exports,给它赋值什么当前模块就导出什么;

然后Node里通过exports = module.exports使exports指向module.exports

如果你赋值给exportsexports = xxx,那么exports就不指向module.exports了。


实际上,你写的模块代码是被Node封装成一个函数来调用的,即:

function (exports, require, module, __filename, __dirname) { ',
    // 你的代码在这里
}

exportsmodule是这个函数的参数。虽然exportsmodule.exports指向相同的对象,但是如果你直接修改module这个函数参数:

exports = xx;

很显然是没法达到目的的。


https://.com/q/1010000000708989
你需要知道二者区别!

【热门文章】
【热门文章】