解决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 相关文章推荐
javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
Dec 25 Javascript
初识SmartJS - AOP三剑客
Jun 08 Javascript
Javascript表单验证要注意的事项
Sep 29 Javascript
js中获取jsp表单中radio类型的值简单实例
Aug 15 Javascript
详解基于angular路由的requireJs按需加载js
Jan 20 Javascript
Vue实现百度下拉提示搜索功能
Jun 21 Javascript
Javascript删除数组里的某个元素
Feb 28 Javascript
vue axios post发送复杂对象问题
Jun 04 Javascript
用 js 写一个 js 解释器过程详解
Aug 02 Javascript
javascript-hashchange事件和历史状态管理实例分析
Apr 18 Javascript
将Vue组件库更换为按需加载的方法步骤
May 06 Javascript
返回上一个url并刷新界面的js代码
Sep 12 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模拟asp中的XmlHttpRequest实现http请求的代码
2011/03/24 PHP
PHP 遍历文件实现代码
2011/05/04 PHP
apache+php完美解决301重定向的两种方法
2011/06/08 PHP
基于php无限分类的深入理解
2013/06/02 PHP
php无限极分类递归排序实现方法
2014/11/11 PHP
PHP-CGI远程代码执行漏洞分析与防范
2017/05/07 PHP
javascript form 验证函数 弹出对话框形式
2009/06/23 Javascript
在IE6下发生Internet Explorer cannot open the Internet site错误
2010/06/21 Javascript
关于javascript中的typeof和instanceof介绍
2012/12/04 Javascript
JavaScript 函数惰性载入的实现及其优点介绍
2013/08/12 Javascript
JQuery中使用Ajax赋值给全局变量失败异常的解决方法
2014/08/18 Javascript
Angular2 自定义validators的实现方法
2017/07/05 Javascript
浅析vue中常见循环遍历指令的使用 v-for
2018/04/18 Javascript
微信小程序 swiper 组件遇到的问题及解决方法
2019/05/26 Javascript
JavaScript的Proxy可以做哪些有意思的事儿
2019/06/15 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
2019/06/19 jQuery
关于Layui Table隐藏列问题
2019/09/16 Javascript
vue 解决form表单提交但不跳转页面的问题
2019/10/30 Javascript
vue输入节流,避免实时请求接口的实例代码
2019/10/30 Javascript
精读《Vue3.0 Function API》
2020/05/20 Javascript
小程序富文本提取图片可放大缩小
2020/05/26 Javascript
vue项目实现设置根据路由高亮对应的菜单项操作
2020/08/06 Javascript
javascript使用canvas实现饼状图效果
2020/09/08 Javascript
解决python 未发现数据源名称并且未指定默认驱动程序的问题
2018/12/07 Python
画pytorch模型图,以及参数计算的方法
2019/08/17 Python
JetBrains PyCharm(Community版本)的下载、安装和初步使用图文教程详解
2020/03/19 Python
全球知名鞋履品牌授权零售商:Journeys
2016/09/17 全球购物
顶岗实习接收函
2014/01/09 职场文书
打架检讨书50字
2014/01/11 职场文书
如何写好建议书
2014/03/13 职场文书
软件专业毕业生个人自我鉴定
2014/04/17 职场文书
小学语文业务学习材料
2014/06/02 职场文书
四风问题个人对照检查材料
2014/09/26 职场文书
php字符串倒叙
2021/04/01 PHP
MYSQL(电话号码,身份证)数据脱敏的实现
2021/05/28 MySQL
如何正确理解python装饰器
2021/06/15 Python