vue 首页加载缓慢、白屏现象的原因与解决办法

vue页面白屏的原因及优化 一、原因: 单页面应用的 html 是靠 js 生成,因为首屏需要加载很大的js文件(app.js vendor.js),所以当网速差的时候会产生一定程度的白屏 二、解决办法: (1)优化 webpack 减少模块打包体积,code-split 按需加载 (2)服务端渲染,在服务端事先拼装好首页所需的 html (3)首页加 loading 或 骨架屏 (仅仅是优化体验) (4)缓存一定要使用,但是请注意合理使用 (5)代码压缩,服务端压缩,浏览器端解压缩 三、HTTP压缩的过程 浏览器发送Http r 阅读详情
AI摘要

本文分析了Vue项目首屏加载慢和白屏问题的原因,主要集中在app.js和vendor.js加载时间长。提出了解决方案,包括图片压缩、移除.map文件、使用CDN、路由懒加载和启用gzip静态资源压缩。详细介绍了每一步的具体操作,如修改webpack配置、引入CDN、调整vue-router和服务器配置。

vue项目打包上线后,首次打开会发现加载很慢,出现白屏的问题,

一、问题原因

打开控制台查看文件加载情况,会发现app.js/vendor.js这两个文件加载时间较长

image

二、解决办法

1、图片压缩

使用webpack打包文件时,可以看到图片资源显示过大,使用工具进行压缩

image

2、去掉.map文件

webpack打包文件时,会看到有一些.map文件生成

image

  • 修改:
    找到config文件夹下的index.js文件,build里边的productionSourceMap值改为false即可

image

3、CDN外部加载

在项目开发中,会用到很多第三方库,如果可以按需引入,只需要引入自己需要的组件,减少所占空间,但是有些不能按需引入,则可以使用CDN外部加载

  • 在index.html中从CDN引入组件,去掉其他页面的组件import

image

  • 修改webpack.base.config.js,在externals中加入该组件,避免编译时找不到组件报错

image

4、vue路由懒加载
  • 方法一:
export default new Router({
  routes: [ {
      path: '/login',
      component: resolve=>require(["@/components/pages/signIn/signIn"],resolve),
    }]
});
  • 方法二:
export default new Router({
  routes: [ {
      path: '/login',
      component: ()=>import("@/components/pages/signIn/signIn"),
    }]
});
  • 方法三:webpack提供的require.ensure()

vue-router配置路由,使用webpack的require.ensure技术,也可以实现按需加载。
这种情况下,多个路由指定相同的chunkName,会合并打包成一个js文件。

路由index.js修改
{
  path: '/home',
  name: 'home',
  component: r => require.ensure([], () => r(require('@/components/home')), 'demo')
}, {
  path: '/index',
  name: 'Index',
  component: r => require.ensure([], () => r(require('@/components/index')), 'demo')
}

webpack.base.conf.js修改:

image

5、gzip静态资源压缩,这个需要结合服务器端的配置。

查阅资料发现很多人推荐使用gzip静态资源压缩,但是这个需要结合服务器的配置

1、打开config/index.js文件:

image

  • 这里安装时需要制定版本,要不然会报错
  • npm install --save-dev compression-webpack-plugin@1.1.12

2、然后打开/build/webpack.base.config.js文件,找到module.exports的module中的rules

image

  • 因为vue中一些小的静态资源文件是会打包成base64的文件存在css中的或者js中,这里就是控制需要转换的大小,这样减少了js的大小。

3、服务器端(下面以Nginx为例)

  • 打开配置文件,一般都会默认开启gzip的,但是gzip_static是没有开启的,所有需要加上 gzip_static on;

image

  • 如果没有开启gzip的话可以在手动在http{}里添加
http {
    gzip on;
    gzip_static on;
    gzip_min_length  1k;
    gzip_buffers     4 16k;
    gzip_http_version 1.1;
    gzip_comp_level 2;
    gzip_types     text/plain application/javascript application/x-javascript         
    text/javascript text/css application/xml;
    gzip_vary on;
    gzip_proxied   expired no-cache no-store private auth;
    gzip_disable   "MSIE [1-6]\.";
}
vue页面刷新空白 vue项目做的是hash的不利于cdn缓存,cdn并不识别# -------------------------------------------------------------------- 原因不再阐述 自己用nginx试了下子,直接copy代码;没毛病; server { listen 8888;#默认端口是80,如果端口没被占用可以不用修改 ... 阅读详情

相关推荐

uniapp 云打包后IOS白屏,真机调试也是白屏,没有报错!解决办法

uniapp 云打包后IOS白屏,真机调试也是白屏,没有报错!解决办法! 原来用uniapp 写的小程序 然后要翻成app 一开始还是很顺利的,因为安卓端测试 没有什么大问题;但是IOS直接白屏,只能看到tabBar 百度了各种 都没有得到解决,困扰了一天!! 然后第二天突然想到会不会是subPackages 分包机制的问题,然后看了一下官网: subPackages 分包加载配置,此配置为小程序的分包加载机制。 因小程序有体积和资源加载限制,各家小程序平台提供了分包方式,优化小程序的下载和启动速度。 所谓

weixin_43942866的博客 8782

Vue 项目中首页长时间白屏的原因及解决方法

在 Vue 项目中,首页长时间白屏的问题会影响用户体验和搜索引擎优化。本文介绍了首页长时间白屏的。

weixin_48723799的博客 7346

Vue首屏白屏如何解决

通过结合以上解决方案,可以有效地解决Vue首屏白屏问题,并提升用户体验。在实际开发中,应根据项目的具体情况和需求,选择合适的解决方案进行优化。二、文件引用和打包问题。三、浏览器兼容性问题。四、异步数据请求问题。

youhebuke225的博客 2961

vue项目页面空白的几个原因及解决办法

会出现vue项目页面空白,通常问题是在于路由上,可能是以下几种原因: 1.路由重复。 如果配置了两个路由是重复的,比如配置了两个【path: ‘/’】,那么访问就会看到空白页面,这时候改下重复的路由配置即可。 2.路由没有配置。 如果没有配置路由,那么访问的页面也可能是空白页,比如访问/yanggb,但是路由里却没有配置,这时候配置上丢失的路由配置即可。 3.路由配置指向页面为空白页。 这种情况就比较玄乎了,配置了指向的页面什么都没有,展示自然也是空白页。 总结 当然可能还会有别的原因导致vue项目出现空白

xin123____的博客 4万+

别再让COGI拖慢你的SAP接口!手把手教你配置BAPI_PRODORDCONF_CREATE_TT的同步货物移动

本文深入解析SAP生产订单报工接口中的COGI问题,通过BAPI_PRODORDCONF_CREATE_TT的同步配置实战,解决异步更新导致的性能瓶颈。文章详细介绍了增强点配置和性能验证,帮助用户彻底消除COGI堆积,提升接口效率。

weixin_29214691的博客 482

达梦慢sql和统计信息收集

各计划节点的执行顺序为:缩进越多的越先执行,同样缩进的上面的先执行,下面的后执行,上下的优先级高于内外。在建立索引的时候,要考虑索引的最左匹配原则(在使用 SQL 语句时,如果 where 部分的条件不符合最左匹配原则,可能导致索引失效,或者不能完全发挥建立的索引的功效);执行计划是 SQL 语句的执行方式,由查询优化器为语句设计的执行方式,交给执行器去执行。生产系统中,对于频繁变动的数据表,多次执行计划可能会出现不一致的问题,这往往是由于统计信息不准导致的,索引定期收集统计信息就很有必要了。

m0_37680131的博客 1715

【VUE】解决图片视频加载缓慢/首屏加载白屏的问题

在 Vue3 项目中,有时候会出现图片视频加载缓慢、首屏加载白屏的问题,文中会介绍几种解决方案,希望可以帮到你

学无止境 4万+

scratch航天梦主题课程作品分享,包含ppt、素材包

而今年多国都将发射探测器尝试登陆月球,2023年或将称为“登月年”,请大家发挥创新思维,以“星辰大海”为创作主题,搜集相关信息 、展开联想,为实现升空 、探测 、取样贡献创意!即使去淘宝买的素材,也要从百度网盘,但素材太多大了或者太多文件,也要充值百度网盘超级会员才能保存,提高下载速度。同学们大家好,今天我们就要开始航天主题-嫦娥五号探月工程系列的编程课程了,不仅可以学习到很多航天知识,了解本次嫦娥五号的发射历程,还能让我们用编程遨游太空呢。即使下载了,也要上传,不是特别方便,尤其是不好查找。

少儿编程吕口口 2485

【VUE】解决VU2项目图片视频加载缓慢/首屏加载白屏的问题

前端项目中,有时候会出现图片视频加载缓慢、首屏加载白屏的问题之前写了一篇在VU3项目中的解决方案,现在讲一下在 Vue2 项目中的解决方法,方法思路都差不多,在代码示例上会有一些小差别。

学无止境 7720

UNSW-NB15数据集:网络流量分析与恶意攻击检测实战指南

本文提供了UNSW-NB15数据集在网络流量分析与恶意攻击检测领域的实战指南。详细介绍了该数据集的构成、核心特征解析、特征工程处理、机器学习模型训练与评估方法,并探讨了模型部署及持续优化的挑战与思路,帮助读者构建高效的网络攻击检测系统。

weixin_29193359的博客 260

Quartus II 13.0安装避坑指南:从下载到破解的完整流程(附常见错误解决方案)

本文提供Quartus II 13.0软件的详细安装与破解指南,涵盖从下载准备、路径设置、主程序安装到授权配置的全流程。重点解析了破解过程中生成和修改license.dat文件的核心步骤,并针对“无法找到有效的License文件”等常见错误提供了实用的解决方案,帮助用户快速构建稳定的FPGA开发环境。

weixin_29291863的博客 762

vue 加载太慢_如何提高Vue项目首页的加载速度

为何当一个VUE项目过大时,打包之后初次访问首页加载速度会异常的缓慢,是什么原因导致以及如何解决这些问题?首页打开速度慢的原因其实浏览器加载一个页面的过程就是通过http协议从服务器端下载项目所需要的资源,将html js 图片文件下载到本地解析后显示出来,如果出现网页加载速度慢,打不开无非以下几个原因:程序自身的Bug导致页面加载异常项目的资源太大(如果js 大的图片)导致访问浏览器从服务器获...

weixin_39561431的博客 3465

智能车图像处理21-进阶篇13--正入十字补线2

这篇文章主要的正入十字补线与1基本相同,主要防止图像中双十字的问题。

taiyuezyh的博客 2035

iframe js 加载失败_如何提高Vue项目首页的加载速度

为何当一个VUE项目过大时,打包之后初次访问首页加载速度会异常的缓慢,是什么原因导致以及如何解决这些问题?首页打开速度慢的原因其实浏览器加载一个页面的过程就是通过http协议从服务器端下载项目所需要的资源,将html js 图片文件下载到本地解析后显示出来,如果出现网页加载速度慢,打不开无非以下几个原因:程序自身的Bug导致页面加载异常项目的资源太大(如果js 大的图片)导致访问浏览器从...

weixin_30162121的博客 823

SAP FICO应付票据平台开发说明书(包括测试样例、程序代码仅作参考,不保证一定可以运行)

SAP FICO应付票据平台开发说明书(包括测试样例、程序代码仅作参考,不保证一定可以运行)

我好像病了的博客 379

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

vue首次加载白屏_一文详解vue骨架屏优化

H5从输入 URL 到真正看到内容之间经历的时间就是FP(First Paint),也就是白屏时间,当然这个时间越短越好。和首屏相关的除了 FP 还有两个指标,分别称为 FCP (First Contentful Paint,页面有效内容的绘制) 和 FMP (First Meaningful Paint,页面有意义的内容绘制)。如果白屏时间过长,用户体验会大打折扣,如果用户网速差,则FCP会更长...

weixin_36031304的博客 1572

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

前端发版上线出现白屏问题

出现上线白屏的问题有很多,如:配置错误、缓存问题、浏览器兼容问题,根据不同情况去解决。

aDiaoYa_的博客 4099

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

vue3.0项目打包后,由于vender.js 文件过大引起的首页加载时间缓慢的解决方式

项目打包后加载时间及大小 1.下图为vender.js加载时间,会发现vebder.js 大小将近2M,加载时间蓝条很长 解决方式 我同时用了两种解决方式,来减少vender.js的大小 1.路由懒加载 vue-router路由懒加载(解决vue项目首次加载慢)也叫延迟加载,即在需要的时候进行加载,随用随载。简单的说就是:进入首页不用一次加载过多资源造成用时过长!!! 像vue这种单页面应...

qq_34867424的博客 2681

vue打包优化dist文件过大,导致资源加载多、首页白屏问题

dist打包后经常遇到包过大,有的甚至超过10M等,这会导致我们项目在首次进入时,由于资源加载过多而导致页面白屏的情况,针对这种情况,我们可以对以下几个方便进行优化 一、设置productionSourceMap 在vue.config.js文件中,设置productionSourceMap为 false;表示生产环境不生成sorce map文件(source map 就是资源地图。其作用就是定位,用于定位浏览器控制台输出语句在项目文件的位置,以便于出现问题时快速找到问题位置。) module.export

zxo_apple的博客 3844

Vue2 项目首屏加载缓慢?这些优化技巧快收藏!

通过以上多种优化方法的综合运用,我们能够显著提升 Vue2 应用的首屏加载速度,为用户带来流畅、高效的浏览体验。但优化工作并非一劳永逸,随着项目的迭代、业务的拓展以及技术的演进,我们需要持续关注首屏加载性能。一方面,不断审视项目中的新模块、新依赖,看是否有潜在的性能瓶颈,及时运用本文所讲方法进行处理。例如,后续引入新的第三方组件库时,立刻考虑按需引入策略,避免包体积膨胀。另一方面,密切关注前端技术领域的新动态,像新的打包优化算法、图片处理技术等,适时将其融入项目。

yan1915766026的博客 2575

vue h5 首次打开加载缓慢、白屏几秒后才渲染解决方案 --- 加载启动页

首次打开 web app 应用,都会有一个尴尬的问题,就是加载慢、白屏好几秒。 原生APP 都有一个启动页,那么web app为什么就不能实现呢?或者折中一下,快点实现也可以啊!!! 1、分析问题 web app 之所以打开慢,主要还是渲染的问题:DNS解析 – 服务器交互 – 浏览器页面渲染 我们可以通过cdn引入、去除map文件、异步加载、按需引入、压缩等等方法,这里我就不再阐述了,大家可以自行搜索 Vue项目优化 2、vue 虚拟dom 替换 我们大家都知道,vue、react 的双向数据绑定,

拿回忆下酒 6392

vue——router解决首次加载资源过多导致的速度缓慢的问题(懒加载)

懒加载:延迟加载,即在需要的时候进行加载,随用随载。 像vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,造成进入首页时,需要加载的内容过多,时间过长,会出啊先长时间的白屏,即使做了loading也是不利于用户体验,而运用懒加载则可以将页面进行划分,需要的时候加载页面,可以有效的分担首页所承担的加载压力,减少首页加载用时。 简单的说就是:进入首页不用一次加载...

Sunshine0508的博客 1799

vue控制台获取到值了但页面不显示什么原因_如何提高Vue项目首页的加载速度

为何当一个VUE项目过大时,打包之后初次访问首页加载速度会异常的缓慢,是什么原因导致以及如何解决这些问题?首页打开速度慢的原因其实浏览器加载一个页面的过程就是通过http协议从服务器端下载项目所需要的资源,将html js 图片文件下载到本地解析后显示出来,如果出现网页加载速度慢,打不开无非以下几个原因:程序自身的Bug导致页面加载异常项目的资源太大(如果js 大的图片)导致访问浏览器从服务器获取...

weixin_39774644的博客 1885

ajaxsubmit怎么显示加载中_如何提高Vue项目首页的加载速度

为何当一个VUE项目过大时,打包之后初次访问首页加载速度会异常的缓慢,是什么原因导致以及如何解决这些问题?首页打开速度慢的原因其实浏览器加载一个页面的过程就是通过http协议从服务器端下载项目所需要的资源,将html js 图片文件下载到本地解析后显示出来,如果出现网页加载速度慢,打不开无非以下几个原因:程序自身的Bug导致页面加载异常项目的资源太大(如果js 大的图片)导致访问浏览器从...

weixin_39624873的博客 227

vue 项目加载顺序_如何提高Vue项目首页的加载速度

为何当一个VUE项目过大时,打包之后初次访问首页加载速度会异常的缓慢,是什么原因导致以及如何解决这些问题?首页打开速度慢的原因其实浏览器加载一个页面的过程就是通过http协议从服务器端下载项目所需要的资源,将html js 图片文件下载到本地解析后显示出来,如果出现网页加载速度慢,打不开无非以下几个原因:程序自身的Bug导致页面加载异常项目的资源太大(如果js 大的图片)导致访问浏览器从服务器获取...

weixin_31748999的博客 348
上一篇: vue初始化报错
下一篇: 对vue中的数据劫持/数据代理/数据观察的理解
LSL3521
博客等级 码龄9年 7粉丝 14原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值