项目部署后发现的问题

  • 首次打开css文件很大,加载很慢白屏时间长          

原因:导入组件太多

解决办法:按需引入组件

  • 导航栏menu组件刷新后高亮回到默认选项

原因:路由刷新后状态会丢失

解决办法:用pinia对路由状态做长久保存,将保存的路由赋值给默认高亮

  • 刷新页面出现404

原因:history路由模式在刷新时会通过地址栏里的url向后端请求页面,而vue时单页面应用,在nginx上只有index文件,所以会返回404。在history模式下是通过h5的Interface 中的pushState()方法和replaceState()方法,它们提供了对浏览器历史记录进行修改的功能,但当它们执行修改时,虽然改变了当前的 URL,但浏览器不会立即向服务器发送请求,因此history模式正常页面操作跳转路由,是不会再次发送http资源请求的。但是当刷新的时候,由于url已经改变,如www.xxx.com/login会完整地向服务器请求相关资源,所以就会造成对应路径的资源找不到,从而返回404。

解决办法:

采用hash模式,hash模式使用onHashChange检测地址栏#后面的变化从而改变页面,#后面的内容不会影响url请求。

对nginx进行重定向配置。在配置文件里增加下面代码

location / {
  try_files $uri $uri/ /index.html;
}

ps:在解决过程中出现了一个小bug,上述代码会按照:当前$url,当前$url文件中的内容中即$url/,/index文件一步步查找,前面都不符合才会选择最后的index文件。在该项目中有一个publiccations路由页面,同时在打包的public文件中创建了一个publications文件保存pdf文件,当按照上述顺序查找时,在publications路由页面刷新就会误把存放pdf文件的publications文件夹当成$url/的匹配项,导致了页面403无法正常访问。

解决办法:去掉$url/ 或者更改publications文件夹的名字

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值