解决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 相关文章推荐
简单实例处理url特殊符号&处理(2种方法)
Apr 02 Javascript
js 实现 input type="file" 文件上传示例代码
Aug 07 Javascript
jQuery中Dom的基本操作小结
Jan 23 Javascript
Javascript实现简单二级下拉菜单实例
Jun 15 Javascript
jQuery中的编程范式详解
Dec 15 Javascript
javascript弹出页面回传值的方法
Jan 28 Javascript
JavaScript判断手机号运营商是移动、联通、电信还是其他(代码简单)
Sep 25 Javascript
jquery获取下拉框中的循环值
Feb 08 Javascript
对Angular中单向数据流的深入理解
Mar 31 Javascript
详解单页面路由工程使用微信分享及二次分享解决方案
Feb 22 Javascript
JavaScript面向对象程序设计中对象的定义和继承详解
Jul 29 Javascript
通过vue.extend实现消息提示弹框的方法记录
Jan 07 Vue.js
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
NO3第三帝国留言簿制作过程
2006/10/09 PHP
php使用explode()函数将字符串拆分成数组的方法
2015/02/17 PHP
Symfony2在Nginx下的配置方法图文教程
2016/02/04 PHP
Add a Formatted Table to a Word Document
2007/06/15 Javascript
EXTJS记事本 当CompositeField遇上RowEditor
2011/07/31 Javascript
非html5实现js版弹球游戏示例代码
2013/09/22 Javascript
Javascript仿PHP $_GET获取URL中的参数
2014/05/12 Javascript
用html5 js实现点击一个按钮达到浏览器全屏效果
2014/05/28 Javascript
JavaScript中的object转换函数toString()与valueOf()介绍
2014/12/31 Javascript
JavaScript中的setUTCDate()方法使用详解
2015/06/11 Javascript
jQuery插件实现多级联动菜单效果
2015/12/01 Javascript
AngularJS实现标签页的两种方式
2016/09/05 Javascript
详解jQuery插件开发方式
2016/11/22 Javascript
jquery easyui dataGrid动态改变排序字段名的方法
2017/03/02 Javascript
easyUI下拉列表点击事件使用方法
2017/05/18 Javascript
实例讲解DataTables固定表格宽度(设置横向滚动条)
2017/07/11 Javascript
VueJs组件之父子通讯的方式
2018/05/06 Javascript
微信小程序 云开发模糊查询实现解析
2019/09/02 Javascript
使用 Vue-TCB 快速在 Vue 应用中接入云开发的方法
2020/02/10 Javascript
[48:29]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS KG
2018/03/31 DOTA
Python中方法链的使用方法
2016/02/23 Python
Python用字典构建多级菜单功能
2019/07/11 Python
解决Django连接db遇到的问题
2019/08/29 Python
django-rest-swagger的优化使用方法
2019/08/29 Python
python基于K-means聚类算法的图像分割
2019/10/30 Python
Python使用matplotlib 画矩形的三种方式分析
2019/10/31 Python
python wav模块获取采样率 采样点声道量化位数(实例代码)
2020/01/22 Python
世界上最大的折扣香水店:FragranceNet.com
2016/10/26 全球购物
美国知名艺术画网站:Art.com
2017/02/09 全球购物
德国运动鞋网上商店:Afew Store
2018/01/05 全球购物
软件工程师面试题
2012/06/25 面试题
毕业生求职推荐信
2013/11/04 职场文书
应聘美工求职信
2013/11/07 职场文书
竞聘演讲稿怎么写
2014/08/28 职场文书
在酒桌上的敬酒词
2015/08/12 职场文书
Python通过loop.run_in_executor执行同步代码 同步变为异步
2022/04/11 Python