浅谈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 相关文章推荐
javascript动画对象支持加速、减速、缓入、缓出的实现代码
Sep 30 Javascript
Jquery:ajax实现翻页无刷新功能代码
Aug 05 Javascript
addEventListener 的用法示例介绍
May 07 Javascript
不到30行JS代码实现Excel表格的方法
Nov 15 Javascript
JavaScript数据操作_浅谈原始值和引用值的操作本质
Aug 23 Javascript
Bootstrap基本组件学习笔记之下拉菜单(7)
Dec 07 Javascript
jquery实现倒计时小应用
Sep 19 jQuery
浅谈vue的几种绑定变量的值 防止其改变的方法
Mar 01 Javascript
改变vue请求过来的数据中的某一项值的方法(详解)
Mar 08 Javascript
浅谈Vue.js路由管理器 Vue Router
Aug 16 Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
Aug 20 Javascript
vue等两个接口都返回结果再执行下一步的实例
Sep 08 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
PHP 和 MySQL 基础教程(三)
2006/10/09 PHP
php中计算程序运行时间的类代码
2012/11/03 PHP
让PHP显示Facebook的粉丝数量方法
2014/01/08 PHP
PHP中的socket_read和socket_recv区别详解
2015/02/09 PHP
php通过baihui网API实现读取word文档并展示
2015/06/22 PHP
Symfony的安装和配置方法
2016/03/17 PHP
PHP转换文本框内容为HTML格式的方法
2016/07/20 PHP
IE8 下的Js错误HTML Parsing Error...
2009/08/14 Javascript
chrome原生方法之数组
2011/11/30 Javascript
js的压缩及jquery压缩探讨(提高页面加载性能/保护劳动成果)
2013/01/29 Javascript
关于删除时的提示处理(确定删除吗)
2013/11/03 Javascript
javascript事件冒泡详解和捕获、阻止方法
2014/04/12 Javascript
JQuery中Bind()事件用法分析
2015/05/05 Javascript
javascript实现状态栏中文字动态显示的方法
2015/10/20 Javascript
Google 地图API资料整理及详细介绍
2016/08/06 Javascript
vue中如何创建多个ueditor实例教程
2017/11/14 Javascript
在nginx上部署vue项目(history模式)的方法
2017/12/28 Javascript
jQuery中将json数据显示到页面表格的方法
2018/05/27 jQuery
jQuery使用each遍历循环的方法
2018/09/19 jQuery
vue代码分割的实现(codesplit)
2018/11/13 Javascript
vue自定义js图片碎片轮播图切换效果的实现代码
2019/04/28 Javascript
Vuex实现购物车小功能
2020/08/17 Javascript
Python struct模块解析
2014/06/12 Python
搞笑的程序猿:看看你是哪种Python程序员
2015/06/12 Python
python操作列表的函数使用代码详解
2017/12/28 Python
Python中偏函数用法示例
2018/06/07 Python
Python编写打字训练小程序
2019/09/26 Python
PyQt5中QTableWidget如何弹出菜单的示例代码
2020/02/23 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
2020/03/18 Python
10分钟入门CSS3 Animation
2018/12/25 HTML / CSS
html5 Canvas画图教程(3)—canvas出现1像素线条模糊不清的原因
2013/01/09 HTML / CSS
美国汽车轮胎和轮毂销售网站:Tire Rack
2018/01/11 全球购物
2014年干部作风建设总结
2014/10/23 职场文书
网上祭英烈活动总结
2015/02/04 职场文书
2015年度企业工作总结
2015/05/21 职场文书
Spring中bean的生命周期之getSingleton方法
2021/06/30 Java/Android