解决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 常见开发使用技巧总结
Dec 26 Javascript
浅谈jquery.fn.extend与jquery.extend区别
Jul 13 Javascript
javascript控制层显示或隐藏的方法
Jul 22 Javascript
javascript闭包(Closure)用法实例简析
Nov 30 Javascript
Node.js 日志处理模块log4js
Aug 28 Javascript
ionic2打包android时gradle无法下载的解决方法
Apr 05 Javascript
webpack4.0打包优化策略整理小结
Mar 30 Javascript
vue中node_modules中第三方模块的修改使用详解
May 31 Javascript
Vue项目实现换肤功能的一种方案分析
Aug 28 Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
Dec 04 Javascript
js判断一个对象是数组(函数)的方法实例
Dec 19 Javascript
JavaScript 类的封装操作示例详解
May 16 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
欧美媒体选出10年前最流行的17部动画
2017/01/18 日漫
PHP生成网页快照 不用COM不用扩展.
2010/02/11 PHP
在smarty模板中使用PHP函数的方法
2011/04/23 PHP
php cli模式学习(PHP命令行模式)
2013/06/03 PHP
神盾加密解密教程(一)PHP变量可用字符
2014/05/28 PHP
ThinkPHP中的create方法与自动令牌验证实例教程
2014/08/22 PHP
PHP中soap的用法实例
2014/10/24 PHP
phpmyadmin中禁止外网使用的方法
2014/11/04 PHP
MooBox 基于Mootools的对话框插件
2012/01/20 Javascript
动态创建按钮的JavaScript代码
2016/01/29 Javascript
JavaScript制作简单的日历效果
2016/03/10 Javascript
nodejs+websocket实时聊天系统改进版
2017/05/18 NodeJs
vue.js动态数据绑定学习笔记
2017/05/19 Javascript
Node.js使用Koa搭建 基础项目
2018/01/08 Javascript
JS/HTML5游戏常用算法之追踪算法实例详解
2018/12/12 Javascript
node.js微信小程序配置消息推送的实现
2019/02/13 Javascript
layui table 表格模板按钮的实例代码
2019/09/21 Javascript
vue 返回上一页,页面样式错乱的解决
2019/11/14 Javascript
[56:58]VP vs Optic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python的randrange()方法使用教程
2015/05/15 Python
Python基础教程之浅拷贝和深拷贝实例详解
2017/07/15 Python
Tornado 多进程实现分析详解
2018/01/12 Python
使用pandas批量处理矢量化字符串的实例讲解
2018/07/10 Python
Python同时迭代多个序列的方法
2020/07/28 Python
使用Python通过oBIX协议访问Niagara数据的示例
2020/12/04 Python
HTML5 使用 sessionStorage 进行页面传值的方法
2018/07/02 HTML / CSS
html+css实现自定义图片上传按钮功能
2019/09/04 HTML / CSS
世界最大域名注册商:GoDaddy
2016/07/24 全球购物
澳洲小众品牌的集合网站:BNKR
2018/02/23 全球购物
普天C++笔试题
2016/03/20 面试题
毕业生造价工程师求职信
2013/10/17 职场文书
国情备忘录观后感
2015/06/04 职场文书
社区低保工作总结2015
2015/07/23 职场文书
2015年庆祝国庆节66周年演讲稿
2015/07/30 职场文书
golang 实用库gotable的具体使用
2021/07/01 Golang
浅谈Node的内存泄露问题
2022/05/06 NodeJs