微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

浅谈webpack打包过程中因为图片的路径导致的问题

最近在制作一个自己的个人博客的时候遇到这么一个问题,在CSS中使用了相对路径来充当背景图片,如下所示:

然后将整个工程使用webpack打包之后,在浏览器上运行却报错了,报错如下:

也就是说,打包之后这个图片文件找不到了,那么原因出在哪里呢? 先来看一下我在webpack.config.js文件中的配置:

在这里其实我的loader并没有使用错误的,图片对应的就是使用url-loader来处理. 那么再来看一下通过webpack打包之后的目录:

发现dist文件夹中出现了我们想要打包生成一个文件build.js,同时还额外的生成一个图片文件,这个文件就是刚刚我们在CSS中

指定的一个背景图片. 通过浏览器的报错信息可以发现,build.js为我们指定的这个图片的地址明显不正确,在认情况下,打包过程会

将使用到的图片拷贝一份放到output的path指定的目录下,然而在build.js中引用的图片路径确实整个工程文件的根目录,因此自然引

用不到. 那么应该如何处理呢? 在webpack.config.js文件中output对象中指定publicPath属性,它用来指定静态资源 (图片等) 的发布地

址,当配置过该属性后,打包文件 (也就是build.js) 中所有通过相对路径引用的资源都会被配置的路径所替换。因此通过如此设置

之后build.js中引用该图片的路径会在一开始的根目录的路径后面添加publicPath指定的路径,所以我们在webpack.config.js添加

下图中的红色框中的内容即可:

那么最终运行起来就能够通过dist文件夹找到生成图片了!

以上这篇浅谈webpack打包过程中因为图片的路径导致的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐