Node.js中的module.exports与export
我在Node.js模块中找到了以下合同:
module.exports = exports = nano = function database_module(cfg) {...}
我不知道什么之间的不同module.exports
和exports
为什么都被用在这里。
回答:
设置module.exports
允许在database_module
时像函数一样调用函数required
。简单地设置exports
将不允许导出函数,因为节点导出了对象module.exports
引用。以下代码不允许用户调用该函数。
module.js
exports = nano = function database_module(cfg) {return;}
module.exports = exports = nano = function database_module(cfg) {return;}
var func = require('./module.js');// the following line will **work** with module.exports
func();
基本上, 不会导出exports
当前引用的对象,而是导出exports
最初引用的对象的属性。尽管
确实导出了对象module.exports
引用,但允许您像调用函数一样调用它。
第二个最不重要的原因
他们设置了两者module.exports
并exports
确保exports
未引用先前的导出对象。通过将两者都设置exports
为简写,可以避免以后出现潜在的错误。
使用exports.prop = true
而不是module.exports.prop = true
保存字符并避免混淆。
以上是 Node.js中的module.exports与export 的全部内容, 来源链接: utcz.com/qa/399191.html