You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Webpack 5无法从HTML模板正确加载图片问题求助

问题分析与解决方案

问题根源在于url-loader默认以ES模块格式导出资源,而html-loader处理HTML模板中<img>的src属性时,误将这个ES模块的引用当作了资源路径,最终生成了包含导出语句的无效文件,而非正确的图片路径。

具体修复步骤

修改webpack.common.js中的图片加载规则

在url-loader的配置选项中添加esModule: false,强制其以CommonJS格式导出资源路径,确保html-loader能正确解析:

{
  test : /\.(png|jp(e*)g|svg)$/,
  use : [{
    loader : 'url-loader',
    options : {
      limit : 800,
      name : 'images/[hash]-[name].[ext]',
      esModule: false // 添加该配置项
    }
  }]
}

验证修复效果

重新执行打包后,HTML模板中的<img>标签src会被正确替换为:

<img class="error" src="images/a062cdc3b40c269bca1f81936119073c-error.svg" id="error">
  • 当图片体积小于800字节时,url-loader会直接将图片转为Base64编码嵌入HTML,无需生成单独文件;
  • 当图片体积超过800字节时,会按照配置生成带哈希值的图片文件,并在HTML中写入正确的相对路径。

内容的提问来源于stack exchange,提问作者Fernando Arbelo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 08:40:27