webpack5打包静态html中img标签引入图片不显示问题

1,335 阅读1分钟

webpack5,在html中img打包后不显示图片 需要先安装插件

npm i html-withimg-loader -D

``

{
        test: /\.(jpg|png|gif)$/,
        // 单个就使用loader
        loader: 'url-loader',
        options: {
          // 下载包: url-loader file-loader
          // 图片大小小于8kb,就会被base64处理 
          // 优点:减少请求数量(减轻服务器压力)
          // 缺点: 图片体积会更大(文件请求速度更慢)
          limit: 8 * 1024,
          // 问题: url-loader默认使用es6模块解析,而html-loader引入图片是ommomkjs
          // 解析是会出问题: 【object module】
          // 解决: 关闭url-loader的es6模块化,使用commonjs解析
          esModule:false,
          // 给图片重名名
          // hash:10 哈希值前10位 
          // [ext] 取原来扩展名
          name: '[hash:10].[ext]'
        }
      },
      {
        test: /\.html$/,
        // 处理html文件的img图片 (负责引入img, 从而被url打包处理)
        loader: 'html-withimg-loader',
        options: {
          esModule:false,
        }
      }

webpack4中只需要在url-loader配置esModule; webpack5需要html-withimg-loader也配置