vue项目首次加载慢,会出现短暂白屏的情况

请问有什么比较好的方法解决这种加载慢的问题

阅读 15.1k
2 个回答

hardcode 一些基础样式在主文档里面。 比如loading动画或者基础背景色。
在bundle.js请求没有回来之前,有较好的等待效果,而这段样式无需异步加载。

加载慢原因:
1、bundle太大,没有压缩混淆。
2、bundle没有使用异步模块加载。
3、bundle没有拆分css样式或者base64了图片。

以上都可以对症下药。

我上述提到的内置加载样式是指。

<html>
    <style>
        
        body {
            background-color: #EEE;
        }
    
        .loading {
            // .... loading动画样式
            background-image: url("./loading.gif");
        }
    </style>
    <body>
        <div class="loading"></div>
    </body>
</html>

这样页面请求回来的时候 就已经有一个加载动画,在缓解加载等待体验。 而不是单纯的白屏。

(1)给个loading菊花挡一下
(2)考虑对于页面的组件做异步加载
(4)webpack打包优化,减小打包文件体积大小
(3)vuejs路由的懒加载策略
(5)配置vue-cli,利用webpack插件完成模板预加载
(6)考虑服务器渲染首屏骨架页面,或者更复杂的服务器渲染策略ssr,官方有文档

上面5种,实现难度都是逐级增加

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题