解决项目加载时空白页面

背景:当前端项目加载时,遇到网络不稳定或更新项目时,出现长时间白屏情况,对用户体验非常不友好。

解决方法

  • CSN加速
  • 增加带宽
  • 前端页面修改

本文就第三点展开

index.html页面 (public文件夹下)

html 复制代码
<!DOCTYPE html>
<html lang="">

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
    <link rel="stylesheet" href="<%= BASE_URL %>styles/base.css">
    <title>
        <%= htmlWebpackPlugin.options.title %>
    </title>
    <link href="./styles/base.css">
</head>

<body>
<div id="mainLoading">
    <div class="ddr ddr1"></div>
    <div class="ddr ddr2"></div>
    <div class="ddr ddr3"></div>
    <div class="ddr ddr4"></div>
    <div class="ddr ddr5"></div>
</div>
<div id="app" style="display: none"></div>
</body>

base.css

css 复制代码
#mainLoading {
    width: 100%;
    height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

#mainLoading .box {
    display: flex;
    align-items: center;
    justify-content: center;
}

#mainLoading .ddr {
    width: 8px;
    height: 100px;
    float: left;
    margin: 2px;
    background-color: #4890FF;
    animation: loading 1s infinite ease-in-out; /*animation:动画名称 持续时间 动画速度曲线 延迟 执行多少次 是否正反方向轮流播放*/
}

#mainLoading .ddr2 {
    animation-delay: -0.9s; /*定义开始执行的地方,负号表示直接从第900ms开始执行*/
}

#mainLoading .ddr3 {
    animation-delay: -0.8s;
}

#mainLoading .ddr4 {
    animation-delay: -0.7s;
}

#mainLoading .ddr5 {
    animation-delay: -0.6s;
}

@keyframes loading {
    0%,
    40%,
    100% {
        /*定义每帧的动作*/
        -webkit-transform: scaleY(0.5);
    }
    20% {
        -webkit-transform: scaleY(1);
    }
}

App.vue 添加钩子函数

html 复制代码
  mounted() {
    // 关闭loading
    document.getElementById('mainLoading').style.display = 'none';
    document.getElementById('app').style.display = 'block';
  },

效果图 loading动画覆盖白屏。

相关推荐
梯度下降者12 小时前
Nuxt框架
vue.js·服务端渲染·全栈开发·混合渲染·nuxt框架
yuyuxun120 小时前
协同过滤的校园二手物品智能推荐系统的设计与实现 毕业设计-附源码40082
javascript·vue.js·spring boot·python·数据分析·django·课程设计
FungLeo1 天前
成为全栈·Vue 管理后台篇·编辑器图片上传:从文件选择到文章附件关联
前端·vue.js·编辑器·markdown·文件上传·formdata·附件管理
码云社区1 天前
智慧物业系统选型指南:房屋档案、账单管理与报修协作
前端·javascript·vue.js·智慧物业
ruanno_top2 天前
表单重置后,验证码还显示已通过:Vue 受控组件的 3 种假同步
vue.js
ruanno_top2 天前
给标签页加 roving tabindex,整组反而键盘进不去了
vue.js
仨孩子的爹2 天前
CSS打印样式:字体族与行高在纸上的对照实测
vue.js
OpenTiny社区2 天前
AI Agent场景组件库 TinyRobot v1.0 正式发布:一站式打造您的AI助手
vue.js·github
ruanno_top3 天前
轮播每 3 秒自己翻页:键盘停不下来,读屏也不知道换了页
vue.js