升级到Webpack5后编译报错TypeError: Cannot read property 'hash' of undefined
Webpack5
Cannot read property 'hash' of undefined 报错修复方案 问题根因
webpack-bundle-tracker 插件的注册位置错误:你将该插件同时注册在了 resolve.plugins 和全局 plugins 两个配置段中,其中 resolve.plugins 仅用于挂载webpack模块解析逻辑相关的插件,webpack-bundle-tracker 属于全局构建流程插件,放在此处会导致webpack内部模块构建流程异常,生成hash时出现this.buildInfo未初始化的问题。
具体修复步骤
- 打开
webpack.config.dev.js定位到resolve.plugins配置段 - 删除该配置段中的
new BundleTracker({path: paths.statsRoot, filename: 'webpack-stats.dev.json'})行 - 全局
plugins配置段中的BundleTracker注册是正确的,无需额外修改
修改后重新启动编译即可解决该报错。
内容的提问来源于stack exchange,提问作者Jacob Dallas
相关产品推荐
相关产品推荐

