VUE视觉优化首屏加载空白页问题

17 阅读1分钟

1、页面的加载过程就是:index.html->main.js->App.vue->index.js->xxx.vue

2、main.js通过实例化 vue,把组件和入口页面联系起来

一、解决方法:

在index.html中写一个加载效果

二、原因:

Vue 挂载时会自动替换 #app 内的所有内容,所以不需要手动清除加载元素。

<body>
  <div id="app">
      <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 100vh;
            background: #f4f7f9;
            font-family: system-ui, -apple-system, sans-serif;
        }
        
        .loader {
            text-align: center;
            padding: 2rem;
        }
        
        .spinner {
            width: 50px;
            height: 50px;
            border: 3px solid rgba(106, 147, 203, 0.2);
            border-top: 3px solid #6a93cb;
            border-radius: 50%;
            margin: 0 auto 1.5rem;
            animation: spin 1s linear infinite;
        }
        
        .text {
            color: #4a5568;
            font-size: 1rem;
        }
        
        .dots {
            display: inline-block;
            position: relative;
        }
        
        .dots::after {
            content: "";
            animation: dots 1.5s infinite;
        }
        
        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }
        
        @keyframes dots {
            0%, 20% { content: "."; }
            40% { content: ".."; }
            60%, 100% { content: "..."; }
        }
    </style>
     <div class="loader">
        <div class="spinner"></div>
        <div class="text">加载中<span class="dots"></span></div>
    </div> 
  </div>
</body>