解决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 相关文章推荐
关于onchange事件在IE和FF下的表现及解决方法
Mar 08 Javascript
提取jquery的ready()方法单独使用示例
Mar 25 Javascript
让JavaScript中setTimeout支持链式操作的方法
Jun 19 Javascript
BootStrap智能表单实战系列(七)验证的支持
Jun 13 Javascript
chrome浏览器如何断点调试异步加载的JS
Sep 05 Javascript
Vuejs第九篇之组件作用域及props数据传递实例详解
Sep 05 Javascript
javascript宿主对象之window.navigator详解
Sep 07 Javascript
基于vue的短信验证码倒计时demo
Sep 13 Javascript
IntelliJ IDEA 安装vue开发插件的方法
Nov 21 Javascript
详解vue中点击空白处隐藏div的实现(用指令实现)
Apr 19 Javascript
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
Nov 04 Javascript
layui使用及简单的三级联动实现教程
Dec 01 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
PHP开发过程中常用函数收藏
2009/12/14 PHP
PHP初学者常见问题集合 修正版(21问答)
2010/03/23 PHP
php 注释规范
2012/03/29 PHP
php metaphone()函数及php localeconv() 函数实例解析
2016/05/15 PHP
php中对象引用和复制实例分析
2019/08/14 PHP
boxy基于jquery的弹出层对话框插件扩展应用 弹出层选择器
2010/11/21 Javascript
JavaScript 判断日期格式是否正确的实现代码
2011/07/04 Javascript
javascript中xml操作实现代码
2011/11/21 Javascript
jsPDF生成pdf后在网页展示实例
2014/01/16 Javascript
使用bootstrap-paginator.js 分页来进行ajax 异步分页请求示例
2017/03/09 Javascript
JS之if语句对接事件动作逻辑(详解)
2017/06/28 Javascript
Javascript调试之console对象——你不知道的一些小技巧
2017/07/10 Javascript
解决微信二次分享不显示摘要和图片的问题
2017/08/18 Javascript
Angular2开发环境搭建教程之VS Code
2017/12/15 Javascript
详解Vue微信授权登录前后端分离较为优雅的解决方案
2018/06/29 Javascript
vue.js input框之间赋值方法
2018/08/24 Javascript
vue2.0 路由模式mode="history"的作用
2018/10/18 Javascript
vue实现浏览器全屏展示功能
2019/11/27 Javascript
在antd中setFieldsValue和defaultVal的用法
2020/10/29 Javascript
[03:59]5分钟带你了解什么是DOTA2(第二期)
2017/02/07 DOTA
[44:41]Fnatic vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python实现数通设备tftp备份配置文件示例
2014/04/02 Python
python让图片按照exif信息里的创建时间进行排序的方法
2015/03/16 Python
Python制作刷网页流量工具
2017/04/23 Python
Python SQL查询并生成json文件操作示例
2018/08/17 Python
python+opencv实现高斯平滑滤波
2020/07/21 Python
提升Python效率之使用循环机制代替递归函数
2019/07/23 Python
Python接口自动化判断元素原理解析
2020/02/24 Python
Python 实现平台类游戏添加跳跃功能
2020/03/27 Python
快速创建python 虚拟环境
2020/11/28 Python
新西兰演唱会和体育门票网站:Ticketmaster新西兰
2017/10/07 全球购物
英国创新设计文具、卡片和礼品包装网站:Paperchase
2018/07/14 全球购物
校园新闻广播稿5篇
2014/10/10 职场文书
2014员工聘用协议书(最新版)
2014/11/24 职场文书
党员公开承诺书2016
2016/03/24 职场文书
vue2实现provide inject传递响应式
2021/05/21 Vue.js