在这个Webpacker配置和Webpacker设置中,有一个常见的设置:
const envConfig = module.exports = environment
const aliasConfig = module.exports = {...}
module.exports = merge(envConfig.toWebpackConfig(), aliasConfig)
多次设置 module.exports 有什么作用,如果有的话?
这仅仅是人们复制/粘贴+调整代码的结果,还是服务于特定的中间文件导出目的?
我想删除前两个作业,因为它们看起来毫无用处,但我不确定 Webpack/Webpacker 是否有特定的影响。
module.exports 只是告诉应该从这个文件中导出什么,以便在其他文件中重用。
如果我只是阅读您共享的 3 行代码的内容,
const envConfig = module.exports = environment
最左侧的"环境"被分配给"模块.导出" 左侧"module.export"到右侧"envConfig">
const aliasConfig = module.exports = {...}
"module.exports"现在被分配了另一个对象,并且失去了对第一个对象的引用。 "aliasConfig" 现在引用 '{...}' 对象
module.exports = merge(envConfig.toWebpackConfig(), aliasConfig)
"module.exports" 被分配了合并函数的结果(如果它使用的是 webpack-merge 包,则此对象是两者的深度合并(。 它丢失了对先前对象的引用。
第一次声明模块导出是没有必要的。
Webpack config 的工作方式与任何 nodejs 模块类似。 这是指向 module.exports https://nodejs.org/api/modules.html#modules_module_exports 的文档的链接
另请注意,使用双重赋值语法可能被认为是危险的,因为 javascript 中的提升工作方式。如果我记得很容易创建我们不希望/期望的全局变量。