浅谈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 相关文章推荐
escape、encodeURI 和 encodeURIComponent 的区别
Mar 02 Javascript
显示js对象所有属性和方法的函数
Oct 16 Javascript
ExtJs扩展之GroupPropertyGrid代码
Mar 05 Javascript
一些老手都不一定知道的JavaScript技巧
May 06 Javascript
js兼容pc端浏览器并有多种弹出小提示的手机端浮层控件实例
Apr 29 Javascript
js设置document.domain实现跨域的注意点分析
May 21 Javascript
常常会用到的截取字符串substr()、substring()、slice()方法详解
Dec 16 Javascript
js实现图片轮播效果学习笔记
Jul 26 Javascript
浅谈angular.copy() 深拷贝
Sep 14 Javascript
微信小程使用swiper组件实现图片轮播切换显示功能【附源码下载】
Dec 12 Javascript
浅谈express.js框架中间件(middleware)
Apr 07 Javascript
Vue分页插件的前后端配置与使用
Oct 09 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获取地址栏信息的代码
2008/10/08 PHP
Windows PHP5和Apache的安装与配置
2009/06/08 PHP
PHP has encountered an Access Violation 错误的解决方法
2010/01/17 PHP
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
2012/07/01 PHP
PHP中ob_start函数的使用说明
2013/11/11 PHP
动态添加js事件实现代码
2009/03/12 Javascript
Javascript 网页黑白效果实现代码(兼容IE/FF等)
2010/04/23 Javascript
nodejs实用示例 缩址还原
2010/12/28 NodeJs
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
JavaScript禁止复制与粘贴的实现代码
2016/05/16 Javascript
React实现双向绑定示例代码
2016/09/19 Javascript
微信小程序 canvas API详解及实例代码
2016/10/08 Javascript
JavaScript变量类型以及变量作用域详解
2017/08/14 Javascript
JavaScript实现二叉树的先序、中序及后序遍历方法详解
2017/10/26 Javascript
详解Vue.js中.native修饰符
2018/04/24 Javascript
webpack4+Vue搭建自己的Vue-cli项目过程分享
2018/08/29 Javascript
Vue起步(无cli)的啊教程详解
2019/04/11 Javascript
JavaScript实现的开关灯泡点击切换特效示例
2019/07/08 Javascript
Node.js中文件系统fs模块的使用及常用接口
2020/03/06 Javascript
跟老齐学Python之关于类的初步认识
2014/10/11 Python
Python科学计算之NumPy入门教程
2017/01/15 Python
TensorFlow Session会话控制&Variable变量详解
2018/07/30 Python
python实现AES和RSA加解密的方法
2019/03/28 Python
解决Python3 抓取微信账单信息问题
2019/07/19 Python
Django中使用极验Geetest滑动验证码过程解析
2019/07/31 Python
对Django中的权限和分组管理实例讲解
2019/08/16 Python
详解python uiautomator2 watcher的使用方法
2019/09/09 Python
python几种常用功能实现代码实例
2019/12/25 Python
简述python&pytorch 随机种子的实现
2020/10/07 Python
土木工程专业个人求职信
2013/12/05 职场文书
工厂总经理岗位职责
2014/02/07 职场文书
2016年小学植树节活动总结
2016/03/16 职场文书
Python Pandas知识点之缺失值处理详解
2021/05/11 Python
pandas提升计算效率的一些方法汇总
2021/05/30 Python
python3+PyQt5+Qt Designer实现界面可视化
2021/06/10 Python
CSS巧用渐变实现高级感背景光动画
2021/12/06 HTML / CSS