我最近在几个地方看到了以下内容,想知道为什么您需要导出一个空对象?
module.exports = {};
例如,模块是一个 polyfill,只包含一个自执行函数。最后的 module.exports = {}
有什么作用?因为代码似乎在有或没有它的情况下都可以工作(我可以要求模块作为依赖项)。
(function polyfillWindowLocationOrigin (location) {
if (location.origin === undefined) {
location.origin = location.protocol + '//' + location.host;
}
})(window.location);
module.exports = {};
注意:我们正在使用 browserify。
最佳答案
如果使用 CommonJS 模块系统,则可以假定此代码出现在每个模块的开头:
var module = {
exports: {}
};
因此设置 module.exports = {};
在技术上完成的很少,但在明确记录模块不导出任何内容这一事实方面可能更可取。
关于javascript - 你应该总是 `module.export` 一个 JS 模块吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37790725/