webpack 背景图路径错误导致图片出不来

自己学习webpack的时候,打包之后,发现 img标签中的src图片能够现实出来,但是css中的背景图不能显示出来???

解决:配置url-loader

              {
                    test:/\.(gif|png|jpg)\??.*$/,
                    use:{
                        loader:"url-loader",
                        options:{
                            limit: 1024,
                            name:"[name].[ext]",
                            outputPath:"assets/image",  //会将图片资源都打包到 
                                                          dist/assets/images/下
                            publicPath: '../../assets/image'
                        },
                    }
                },

如图: url-loader中用正则匹配图片后,options参数中配置跟路径有关的两个选项 outputpath 和 publicPath

这两个长的很像,

其中,

outputpath : 主要是针对生成的图片路径  

                    比如,开发时,图片路径都是在src/assets/images 下, 如果不加 outputpath ,打包时就会把图片都打包在dist目录

下 ,而不是 dist/assets/images/XXX.png 这种路径下了。

所以,ouputpath是跟生成的图片路径有关。

 

publicPath :  这个则是生成的页面中对图片路径的引用时,加上publicPath。

 

如上案例, 如果不加上这个参数,背景图生成的路径会变得很糟糕。不按自己的预期进行

多了个assets的目录, 然后图片没有出来。

这个时候在浏览器输入生成的图片路径 (http://localhost:8080/assets/image/contact.png)是ok的,图片有出来。

 

html中的img标签的中图片资源引用也是错的~

加上 publicPath ,让文件引用直接使用publicPath+资源名~,这时图片路径就正确啦~~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值