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


Posted in Javascript onFebruary 21, 2018

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Javascript 相关文章推荐
特殊字符、常规符号及其代码对照表
Jun 26 Javascript
Firefox和IE浏览器兼容JS脚本写法小结
Jul 07 Javascript
利用了jquery的ajax实现二级联互动菜单
Dec 02 Javascript
window resize和scroll事件的基本优化思路
Apr 29 Javascript
jquery实现华丽的可折角广告代码
Sep 02 Javascript
jQuery学习笔记之回调函数
Aug 15 Javascript
jQuery学习之DOM节点的插入方法总结
Jan 22 Javascript
Angularjs中date过滤器失效的问题及解决方法
Jul 06 Javascript
layui 对table中的数据进行转义的实例
Sep 12 Javascript
微信小程序自定义头部导航栏(组件化)
Nov 15 Javascript
Vue项目打包部署到apache服务器的方法步骤
Feb 01 Vue.js
基于vue的video播放器的实现示例
Feb 19 Vue.js
解决vue打包之后静态资源图片失效的问题
Feb 21 #Javascript
Vue项目中设置背景图片方法
Feb 21 #Javascript
使用vue + less 实现简单换肤功能的示例
Feb 21 #Javascript
利用angular、react和vue实现相同的面试题组件
Feb 19 #Javascript
jQuery实现滚动到底部时自动加载更多的方法示例
Feb 18 #jQuery
Angular实现的进度条功能示例
Feb 18 #Javascript
Angular2.0实现modal对话框的方法示例
Feb 18 #Javascript
You might like
如何做到多笔资料的同步
2006/10/09 PHP
mysql 全文搜索 技巧
2007/04/27 PHP
php运行出现Call to undefined function curl_init()的解决方法
2010/11/02 PHP
php使用gettimeofday函数返回当前时间并存放在关联数组里
2015/03/19 PHP
smarty模板引擎之配置文件数据和保留数据
2015/03/30 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
jquery构造器的实现代码小结
2011/05/16 Javascript
你必须知道的JavaScript 中字符串连接的性能的一些问题
2013/05/07 Javascript
javascript仿php的print_r函数输出json数据
2013/09/13 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
2016/05/05 Javascript
jQuery动态生成表格及右键菜单功能示例
2017/01/13 Javascript
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
2017/05/01 jQuery
Vue2.x中的父子组件相互通信的实现方法
2017/05/02 Javascript
vue结合element-ui使用示例
2019/01/24 Javascript
JavaScript变量基本使用方法实例分析
2019/11/15 Javascript
微信小程序pinker组件使用实现自动相减日期
2020/05/07 Javascript
[01:24:16]2018DOTA2亚洲邀请赛 4.6 全明星赛
2018/04/10 DOTA
Python多线程编程(二):启动线程的两种方法
2015/04/05 Python
Python的MongoDB模块PyMongo操作方法集锦
2016/01/05 Python
浅谈python中列表、字符串、字典的常用操作
2017/09/19 Python
Python使用matplotlib绘制随机漫步图
2018/08/27 Python
Python中时间datetime的处理与转换用法总结
2019/02/18 Python
使用Python和Scribus创建一个RGB立方体的方法
2019/07/17 Python
Django实现跨域的2种方法
2019/07/31 Python
Python新手学习函数默认参数设置
2020/06/03 Python
Python Unittest原理及基本使用方法
2020/11/06 Python
企业安全生产演讲稿
2014/05/09 职场文书
文艺晚会策划方案
2014/06/11 职场文书
感恩祖国演讲稿
2014/09/09 职场文书
房屋租赁委托书范本
2014/10/04 职场文书
民事代理词范文
2015/05/25 职场文书
户外拓展训练感想
2015/08/07 职场文书
学校2016年九九重阳节活动总结
2016/04/01 职场文书
MySQL分区路径子分区再分区
2022/04/13 MySQL
Win11快速关闭所有广告推荐
2022/04/19 数码科技
分享很少见很有用的SQL功能CORRESPONDING
2022/08/05 MySQL