浅谈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面向对象编程(一) 实例代码
Jun 25 Javascript
jQuery Validation实例代码 让验证变得如此容易
Oct 18 Javascript
子窗体与父窗体传值示例js代码
Aug 01 Javascript
Jquery实现显示和隐藏的4种简单方式
Aug 28 Javascript
JS小功能(setInterval实现图片效果显示时间)实例代码
Nov 28 Javascript
javascript中parentNode,childNodes,children的应用详解
Dec 17 Javascript
js实现鼠标触发图片抖动效果的方法
Feb 27 Javascript
ES6中如何使用Set和WeakSet
Mar 10 Javascript
jQuery 限制输入字符串长度
Jun 20 Javascript
获取JavaScript异步函数的返回值
Dec 21 Javascript
webpack@v4升级踩坑(小结)
Oct 08 Javascript
vue App.vue中的公共组件改变值触发其他组件或.vue页面监听
May 31 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数据库非常慢的解决方法
2008/07/05 PHP
php 去除html标记--strip_tags与htmlspecialchars的区别详解
2013/06/26 PHP
Yii核心组件AssetManager原理分析
2014/12/02 PHP
推荐10个提供免费PHP脚本下载的网站
2014/12/31 PHP
Zend Framework教程之Zend_Registry对象用法分析
2016/03/22 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
2017/11/16 PHP
用PHP的反射实现委托模式的讲解
2019/03/22 PHP
jQuery与其它库冲突的解决方法
2010/06/25 Javascript
使用jquery写个更改表格行顺序的小功能
2014/04/29 Javascript
node.js中的events.emitter.listeners方法使用说明
2014/12/10 Javascript
jQuery实现新消息闪烁标题提示的方法
2015/03/11 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
2016/05/25 Javascript
JS+CSS实现滚动数字时钟效果
2017/12/25 Javascript
Bootstrap 中data-[*] 属性的整理
2018/03/13 Javascript
JS使用new操作符创建对象的方法分析
2019/05/30 Javascript
JS array数组检测方式解析
2020/05/19 Javascript
Python协程的用法和例子详解
2017/09/09 Python
python实现感知器算法(批处理)
2019/01/18 Python
Python使用ctypes调用C/C++的方法
2019/01/29 Python
django框架ModelForm组件用法详解
2019/12/11 Python
Python操作MongoDb数据库流程详解
2020/03/05 Python
HTML5 Canvas中使用用路径描画圆弧
2015/01/01 HTML / CSS
印度在线购物网站:Paytmmall
2019/07/24 全球购物
Perfume’s Club美国官网:西班牙第一家在线美容店
2020/06/10 全球购物
几个MySql的面试题
2013/04/22 面试题
应届生法律求职信
2013/10/22 职场文书
酒店副总经理岗位职责范本
2014/02/04 职场文书
三八妇女节超市活动方案
2014/08/18 职场文书
小学生一分钟演讲稿
2014/08/26 职场文书
2014年学校国庆主题活动方案
2014/09/16 职场文书
学校元旦晚会开场白
2014/12/14 职场文书
幼儿教师辞职信
2015/02/27 职场文书
2015年车间主任工作总结
2015/05/21 职场文书
Pandas实现DataFrame的简单运算、统计与排序
2022/03/31 Python
python开发人人对战的五子棋小游戏
2022/05/02 Python
Go gorilla securecookie库的安装使用详解
2022/08/14 Golang