解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题


Posted in Javascript onOctober 25, 2019

Vue项目运行npm run build后会生成一个dist文件夹,我们一般都是把这个文件夹部署到服务器上。dist文件夹里边有一个static文件和一个index.html页面,这个index就是最后单页面的最终文件。

问题一:我在打包完成后,打开index.html文件发现地址并没有携带路由。

解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题

这样的话页面就是空白了,因为没有组件被添加到页面中。打开F12会看到一堆的红色failed请求。打开请求地址是这样的。

解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题

进入D盘就开始寻找static文件夹当然是找不到的。既然知道了是打包之后寻找文件的地址错误,就去config文件夹下的index.js中寻找问题。index.js中的build命令的配置有一个属性叫assetsPublicPath,它的值为‘/'。意思是根目录,这时会从index.html所在的硬盘的根目录下开始查找,自然无法找到。解决办法:

解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题

改为‘./'这时就不再是绝对路径的根目录了,而是改为了相对路径,同目录下进行查找。再次打包,页面基本正常。

问题二:我再次打包后,页面可以正常打开。但是页面上的一些图片请求失败。

我这里请求失败的都是背景图片,而且只是某一些失败。我一直有一个疑惑就是为什么同一个css文件中的背景图片请求有的成功有的失败,要知道我的图片都是放在同一个文件夹下边的。目前这个疑惑还没有解决。

打开某一个失败的请求,我们会发现请求的路径是这样的。

解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题

也就是说这个css文件是从当前文件夹下往里寻找static/img/XXX.png,要知道static文件夹是在dist根目录下边的,因此,我们需要修改build的全局配置,改变css文件的文件请求路径。css文件在static里边的css文件夹中,因此需要先‘../../'出到dist根目录下,然后再static/img/XXX.png,就可以正确找到对应的图片文件。

解决办法:

修改build文件夹下边的utils.js文件。

解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题

再文件相同的if语句下添加下图中选中的代码。

解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题

重新打包,即可解决图片找不到的问题。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
修改jQuery Validation里默认的验证方法
Feb 14 Javascript
javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
Mar 14 Javascript
解决extjs grid 不随窗口大小自适应的改变问题
Jan 26 Javascript
JS使用for循环遍历Table的所有单元格内容
Aug 21 Javascript
使用jQuery制作遮罩层弹出效果的极简实例分享
May 12 Javascript
关于javascript中限定时间内防止按钮重复点击的思路详解
Aug 16 Javascript
JavaScript字符串对象
Jan 14 Javascript
React复制到剪贴板的示例代码
Aug 22 Javascript
基于vue.js路由参数的实例讲解——简单易懂
Sep 07 Javascript
jQuery实现checkbox即点即改批量删除及中间遇到的坑
Nov 11 jQuery
深入Vue-Router路由嵌套理解
Aug 13 Javascript
ElementUI中el-tree节点的操作的实现
Feb 27 Javascript
Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)
Oct 25 #Javascript
基于Vue el-autocomplete 实现类似百度搜索框功能
Oct 25 #Javascript
vue实现评论列表功能
Oct 25 #Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
Oct 25 #Javascript
浅谈layui 表单元素的选中问题
Oct 25 #Javascript
layUI的验证码功能及校验实例
Oct 25 #Javascript
layui点击按钮页面会自动刷新的解决方案
Oct 25 #Javascript
You might like
$_GET['goods_id']+0 的使用详解
2013/06/06 PHP
php实现简单洗牌算法
2013/06/18 PHP
php微信扫码支付 php公众号支付
2019/03/24 PHP
ThinkPHP5&5.1实现验证码的生成、使用及点击刷新功能示例
2020/02/07 PHP
YUI Compressor压缩JavaScript原理及微优化
2013/01/07 Javascript
jquery实现checkbox全选全不选的简单实例
2013/12/31 Javascript
JQuery打造省市下拉框联动效果
2014/05/18 Javascript
浅谈javascript 函数内部属性
2015/01/21 Javascript
JavaScript检测字符串中是否含有html标签实现方法
2015/07/01 Javascript
JS实现从连接中获取youtube的key实例
2015/07/02 Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
2015/12/23 Javascript
使用jquery提交form表单并自定义action的方法
2016/05/25 Javascript
学习使用Bootstrap栅格系统
2017/05/11 Javascript
JavaScript实现封闭区域布尔运算的示例代码
2018/06/25 Javascript
微信小程序实现图片上传放大预览删除代码
2020/06/28 Javascript
详解vue-cli脚手架中webpack配置方法
2018/08/22 Javascript
vue多层嵌套路由实例分析
2019/03/19 Javascript
浅谈发布订阅模式与观察者模式
2019/04/09 Javascript
jQuery+ajax实现批量删除功能完整示例
2019/06/06 jQuery
vue下axios拦截器token刷新机制的实例代码
2020/01/17 Javascript
Google开源的Python格式化工具YAPF的安装和使用教程
2016/05/31 Python
浅谈Python中的可变对象和不可变对象
2017/07/07 Python
Python中的defaultdict与__missing__()使用介绍
2018/02/03 Python
python使用knn实现特征向量分类
2018/12/26 Python
Python Django给admin添加Action的方法实例详解
2019/04/29 Python
Python语言编写智力问答小游戏功能
2020/10/13 Python
浅谈Selenium 控制浏览器的常用方法
2020/12/04 Python
5个你不知道的HTML5的接口介绍
2013/08/07 HTML / CSS
HTML5实现多张图片上传功能
2016/03/11 HTML / CSS
健身场所或家用健身设备:Life Fitness
2017/11/01 全球购物
可以在一个PHP文件里面include另外一个PHP文件两次吗
2015/05/22 面试题
编辑个人求职信范文
2013/09/21 职场文书
医学生职业规划范文
2014/01/05 职场文书
怎么写好自荐书
2014/03/02 职场文书
消防演习通知
2015/04/25 职场文书
mysql sock文件存储了什么信息
2022/07/15 MySQL