解决webpack5使用url-loader打包图片不显示问题

最近刚开始学习webpack,真是踩了一路的坑,一切都是因为webpack版本的不同。网上查的一些配置都是webpack4的配置,webpack4配置需要的模块可能到webpack5的时候就已经弃用了。
这里说明一下我用的版本是webpack5.7
在这里插入图片描述
webpack5打包图片的基本配置如下:
下图是处理背景图片的基本配置:
【注意】其实在webpack5的官网中url-loader,file-loader已经是弃用了的,如果还要使用这两个废弃了的文件的话,必须加上最后那一句type: ‘javascript/auto’,否则会出现一张图片打包两次,而且会出现背景图片不会显示到页面上的问题

 // 打包样式表的图片和字体文件
        rules:[
	        {
	          test:/\.jpg|png|gif|bmp|ttf|eot|svg|woff|woff2$/,
	          loader:'url-loader',
	          options:{
	            publicPath: './image', // 相对打包后的index.html的图片位置
	            outputPath: 'image/', // 输出到build的目录image下
	            // 图片小于 10kb,会被 base64处理
	            limit: 10 * 1024,
	            // 解决:关闭url-loader的es6模块化,使用commonjs解析
	            esModule: false,
	            // 给图片重命名
	            name: '[name].[hash:6][ext]'
	          },
	           type: 'javascript/auto',
         ]
          

下图配置是负责处理html文件的img图片
webpack5中使用 html-withimg-loader代替html-loader

        {
            test: /\.html$/,
            // 处理html文件的img图片(负责引入img,从而能被url-loader处理)
            // webpack5中使用 html-withimg-loader代替
            loader: 'html-withimg-loader'
        },

上面两个配置完成之后,就能完美解决这个问题啦,图片显示成功截图如下:
在这里插入图片描述
希望这篇文章对你有所帮助哦,如果有问题欢迎在评论区留言~

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值