webpack配置-打包背景图片路径问题

问题

项目在开发环境下工作正常,当打包后图片不见了,检查元素后发现路径出错了。图片路径是这样:background: url(/static/img/bg_camera_tip.bd37151.png),但该路径下文件并不存在。

打包后文件目录如下:

可以看到背景图片的路径应该是../../static而实际却是/static,找到原因后就好解决了

查看build目录下webpack.base.conf.js的配置,图片文件会经过url-loader处理。

它的作用是当文件大小小于limit限制时会返回一个base64串,其实就是把图片资源编码为base64串放在CSS文件里,这样就可以减少一次网络请求,因为每一张图片都是需要从服务端去下载的。但是如果文件太大了就会导致base64串很长,那放在CSS文件里面就会导致文件很大,CSS的文件下载时间变长,就得不偿失了,所以会有一个limit参数,在这个范围内的才会被转成base64串,它的单位是字节。对于这个问题,该loader还提供了一个publicPath参数,目的是修改引用的图片地址,默认是当前路径,那直接改它就可以了,即在options节点下添加一个参数publicPath: '../../'。

问题解决链接   https://blog.csdn.net/puyahua/article/details/80076033

原文地址:https://www.cnblogs.com/wangshengli520/p/10071348.html