浅谈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 相关文章推荐
让getElementsByName适应IE和firefox的方法
Sep 24 Javascript
IE浏览器PNG图片透明效果代码
Sep 02 Javascript
javascript学习笔记(十八) 获得页面中的元素代码
Jun 20 Javascript
js用Date对象处理时间实现思路及代码
Jan 31 Javascript
在JavaScript并非所有的一切都是对象
Apr 11 Javascript
javascript实现类似java中getClass()得到对象类名的方法
Jul 27 Javascript
JavaScrip调试技巧之断点调试
Oct 22 Javascript
jQuery 获取页面li数组并删除不在数组中的key
Aug 02 Javascript
AngularJS 依赖注入详解及示例代码
Aug 17 Javascript
JavaScript计时器用法分析【setTimeout和clearTimeout】
Jan 18 Javascript
Vue 中如何正确引入第三方模块的方法步骤
May 05 Javascript
理解JavaScript中的Proxy 与 Reflection API
Sep 21 Javascript
解决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
老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略
2016/03/20 PHP
脚本收藏iframe
2006/07/21 Javascript
jquery下onpropertychange事件的绑定方法
2010/08/01 Javascript
关于js new Date() 出现NaN 的分析
2012/10/23 Javascript
解决jquery submit()提交表单提示:f[s] is not a function
2013/01/23 Javascript
Jquery获取和修改img的src值的方法
2014/02/17 Javascript
分享28款免费实用的 JQuery 图片和内容滑块插件
2014/12/15 Javascript
JavaScript中split() 使用方法汇总
2015/04/17 Javascript
jQuery解析Json实例详解
2015/11/24 Javascript
js实现纯前端的图片预览
2016/04/27 Javascript
前端 Vue.js 和 MVVM 详细介绍
2016/12/29 Javascript
jquery PrintArea 实现票据的套打功能(代码)
2017/03/17 Javascript
Bootstrap下拉菜单Dropdowns的实现代码
2017/03/17 Javascript
bootstrap table动态加载数据示例代码
2017/03/25 Javascript
ECMAScript6--解构
2017/03/30 Javascript
JavaScript基于数组实现的栈与队列操作示例
2018/12/22 Javascript
Vue.js组件实现选项卡以及切换特效
2019/07/24 Javascript
layui 表格操作列按钮动态显示的实现方法
2019/09/06 Javascript
vue实现文件上传读取及下载功能
2020/11/17 Javascript
JavaScript设计模式之观察者模式与发布订阅模式详解
2020/05/07 Javascript
js实现自定义右键菜单
2020/05/18 Javascript
JavaScript数组类型Array相关的属性与方法详解
2020/09/08 Javascript
[50:58]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 Mineski vs EG
2018/04/03 DOTA
用实例说明python的*args和**kwargs用法
2013/11/01 Python
Python文件夹与文件的操作实现代码
2014/07/13 Python
Python判断两个list是否是父子集关系的实例
2018/05/04 Python
使用Numpy读取CSV文件,并进行行列删除的操作方法
2018/07/04 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
2019/10/11 Python
Python 文件数据读写的具体实现
2020/01/24 Python
Django 项目布局方法(值得推荐)
2020/03/22 Python
Django中文件上传和文件访问微项目的方法
2020/04/27 Python
Draper James官网:知名演员瑞茜·威瑟斯彭所创品牌
2017/10/25 全球购物
信访维稳工作汇报
2014/10/27 职场文书
数学教师个人工作总结
2015/02/06 职场文书
军训决心书范文
2015/09/22 职场文书
MySQL之PXC集群搭建的方法步骤
2021/05/25 MySQL