解决项目加载时空白页面

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

解决方法

  • 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动画覆盖白屏。

相关推荐
林焱_RPAAI11 小时前
影刀RPA技术深度:CSS选择器高级实战指南——伪类属性选择器与性能对比完全解析
vue.js·react.js
陳陈陳12 小时前
🚀 前端流式输出革命:SSE + BFF 架构从零到一实战指南
vue.js·架构·node.js
黄泉路醉s17 小时前
在Vant+Vue+TypeScript的H移动前端使用UnoCSS
前端·vue.js·typescript
我要两颗404西柚19 小时前
Stage three:VUE工程化与实战工具
前端·javascript·vue.js
看昭奚恤哭21 小时前
基于 RuoYi-Vue-Pro 定制了一个后台管理系统 magic-admin , 开源出来!
前端·vue.js·开源
妙码生花1 天前
从 PHP 到 AI + Golang,程序员自救转型手记(四十五):前端远程下拉输入组件
前端·javascript·vue.js
Listen·Rain2 天前
AGENTS.md — Vue 3 Frontend Development
前端·javascript·vue.js
南风知我意啊2 天前
Vue3图片缩放拖拽组件全攻略
前端·javascript·vue.js
万亿少女的梦1682 天前
基于Spring Boot、Vue.js与MySQL的流浪猫狗救助系统设计与实现
vue.js·spring boot·mysql·javaweb·权限管理
早睡早起身体好1232 天前
Vue 3 路由与懒加载入门:从零完成一个迷你学习中心
javascript·vue.js·学习