为什么module.export设置多次?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么module.export设置多次?相关的知识,希望对你有一定的参考价值。
在此Webpacker config和Webpacker setup中,有一个通用设置:
const envConfig = module.exports = environment
const aliasConfig = module.exports = ...
module.exports = merge(envConfig.toWebpackConfig(), aliasConfig)
多次设置module.exports有什么作用?
这仅是人们复制/粘贴+扭曲代码的结果,还是仅用于中间文件导出目的?
我想删除前两个分配,因为它们似乎没有用,但是我不确定Webpack / Webpacker是否有特定效果。
如果我只是读了您共享的三行代码,则是],>
const envConfig = module.exports = environment
最左侧的“环境”已分配给“ module.exports”左侧的“ module.exports”到右侧的“ envConfig”
const aliasConfig = module.exports = ...
“ module.exports”现在分配了另一个对象,并且丢失了对第一个对象的引用。现在,“ aliasConfig”引用了“ ...”对象
module.exports = merge(envConfig.toWebpackConfig(), aliasConfig)
“ module.exports”被分配合并功能的结果(如果使用的是webpack-merge包,则此对象是两者的深度合并)。它丢失了对先前对象的引用。
不需要第一次声明module.exports。
Webpack配置与任何nodejs模块一样工作。这是有关module.exports https://nodejs.org/api/modules.html#modules_module_exports
文档的链接。还请注意,由于提升在javascript中的工作方式,因此使用双重赋值语法可能被认为是危险的。如果我还记得,创建我们不希望那样的全局变量很容易。
以上是关于为什么module.export设置多次?的主要内容,如果未能解决你的问题,请参考以下文章
module.export 正在导出对象而不是存储在变量中的字符串
[ECMAScript] moduleexportimport分别有什么作用?