博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题
阅读量:6807 次
发布时间:2019-06-26

本文共 1034 字,大约阅读时间需要 3 分钟。

hot3.png

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

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

   

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

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

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

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

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

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

    

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

    解决办法:

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

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

    

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

--------------------- 
作者:for_weber 
来源:CSDN 
原文:https://blog.csdn.net/for_weber/article/details/80414754 
版权声明:本文为博主原创文章,转载请附上博文链接!

转载于:https://my.oschina.net/u/268088/blog/3058058

你可能感兴趣的文章
BZOJ1195[HNOI2006]最短母串——AC自动机+BFS+状态压缩
查看>>
BZOJ3545&3551[ONTAK2010]Peaks——kruskal重构树+主席树+dfs序+树上倍增
查看>>
MyBatis学习总结(6)——调用存储过程
查看>>
Maven学习总结(一)——Maven入门
查看>>
ActiveMQ学习总结(2)——ActiveMQ入门实例教程
查看>>
甲骨文公司总部Oracle技术沙龙《Hadoop》邀请函-2013.8.31(周六)
查看>>
Oracle 区管理和段空间管理小结
查看>>
linux top命令详解
查看>>
Servlet规范简介
查看>>
SCVMM2012 SP1 之添加非受信任Hyper-V
查看>>
Linux目录结构、bash的基础命令学习
查看>>
利用云服务器搭建内网映射服务器
查看>>
Vmware虚拟机全屏
查看>>
三目运算符?:结合性
查看>>
Red Hat Linux 启动流程图
查看>>
mysql group by 分组查询
查看>>
Exadata:Smart Scan(二) FAST FULL SCAN
查看>>
mac下安装wxPython2.8.12.1方法
查看>>
关于TP模板的目录设置和渲染问题
查看>>
linux系统编程之进程(二):进程生命周期与PCB(进程控制块)
查看>>