浅谈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 相关文章推荐
Jquery乱码的一次解决过程 图解教程
Feb 20 Javascript
基于JQuery实现异步刷新的代码(转载)
Mar 29 Javascript
Javascript的数组与字典用法与遍历对象的属性技巧
Nov 07 Javascript
JQuery遍历json数组的3种方法
Nov 08 Javascript
浅析angularJS中的ui-router和ng-grid模块
May 20 Javascript
详解webpack打包vue时提取css
May 26 Javascript
详解微信小程序设置底部导航栏目方法
Jun 29 Javascript
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
Aug 24 Javascript
react+ant design实现Table的增、删、改的示例代码
Dec 27 Javascript
javascript实现异形滚动轮播
Nov 28 Javascript
jQuery操作选中select下拉框的值代码实例
Feb 07 jQuery
JS获取一个字符串中指定字符串第n次出现的位置
Feb 10 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
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
2012/10/31 PHP
析构函数与php的垃圾回收机制详解
2013/10/28 PHP
PHP中的闭包(匿名函数)浅析
2015/02/07 PHP
php 微信开发获取用户信息如何实现
2016/12/13 PHP
php使用自定义函数实现汉字分割替换功能示例
2017/01/30 PHP
Firebug 字幕文件JSON地址获取代码
2009/10/28 Javascript
实用的Jquery选项卡TAB示例代码
2013/08/28 Javascript
JS检测输入字符是否包含非法字符的示例代码
2014/02/11 Javascript
Nodejs极简入门教程(二):定时器
2014/10/25 NodeJs
理解Javascript的动态语言特性
2015/06/17 Javascript
jQuery+HTML5美女瀑布流布局实现方法
2015/09/21 Javascript
很棒的Bootstrap选项卡切换效果
2016/07/01 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
2016/09/05 Javascript
AngularJS 指令的交互详解及实例代码
2016/09/14 Javascript
浅谈jQuery效果函数
2016/09/16 Javascript
webpack学习笔记之优化缓存、合并、懒加载
2017/08/24 Javascript
浅谈vue路径优化之resolve
2017/10/13 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
2017/12/20 Javascript
JavaScript简单实现动态改变HTML内容的方法示例
2018/12/25 Javascript
深入浅析nuxt.js基于ssh的vue通用框架
2019/05/21 Javascript
如何正确理解vue中的key详解
2019/11/02 Javascript
JavaScript Date对象功能与用法学习记录
2020/04/28 Javascript
[01:15:12]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#4Newbee VS CDEC
2016/03/03 DOTA
python开发之str.format()用法实例分析
2016/02/22 Python
利用Python2下载单张图片与爬取网页图片实例代码
2017/12/25 Python
Python自定义一个异常类的方法
2019/06/27 Python
python读文件的步骤
2019/10/08 Python
Django框架教程之中间件MiddleWare浅析
2019/12/29 Python
用python实现学生管理系统
2020/07/24 Python
潘多拉珠宝美国官方网站:Pandora US
2020/06/18 全球购物
《赵州桥》教学反思
2014/02/17 职场文书
我的中国梦演讲稿400字
2014/08/19 职场文书
2014党员自我评议表范文
2014/09/20 职场文书
惊天动地观后感
2015/06/10 职场文书
css3手动实现pc端横向滚动
2022/06/21 HTML / CSS
使用HBuilder制作一个简单的HTML5网页
2022/07/07 HTML / CSS