这个问题是 file-loader
在 5.0.0 的更新中造成的:
BREAKING CHANGES
- minimum required nodejs version is 10.13.0
- rename the esModules option to esModule
- switch to ES modules by default (the option esModule is true by default)
从更新日志看到,5.0.0 默认将 esModule
设置为了 true
。所以我们只要显示的将它再改为 false
就好了,下面是一段配置示例:
{
test: /\.(png|jpe?g)(\?.*)?$/,
loader: 'url-loader',
options: {
esModule: false,
limit: 10000
}
}
url-loader
是对 file-loader
的封装,目的是可以使用 limit
来判断是否把图片编译成 base64 格式,最后还是会调用 file-loader
,所以设置 esModule
同样有效。