前端实现首屏优化

本文已参与[新人创作礼]活动,一起开启创作之路

近期正值春招和暑期实习招聘,楼主大大小小也面了10多场大厂面试,关于前端优化方面问的也挺多,其中比较常问的就是首屏优化了,所以,在此总结一字体识别下,前端实现首屏优化有哪些方式

首先,谈谈为什么要做性能优化,做性能优化的好处在哪?

性能优字体天下化的好处

前端,是一个产品直接展element是什么意思示在用户眼前的战场,而前端性能直接影响了用户体验。可以说,性能优化是初、中级工程师向高级工程师进阶的必学知识点,以及核心技能。字体管家

性能优化的商业价值

可见前端性能优化对我们的影响和收入直接挂钩,高性能的网站比表现不佳的网站更好地吸引和留住用户。

“50%的用户会放弃访问加载超过3秒element是什么意思的网站”

如果高性能是一种资产,那么表现不佳就是一种负担。 性能优化是一个项目发展到一定时期之后绕不开的话题,也是每个工程师心中永远在撩拨的刺,产品的好坏决定着索引超出了数组界限什么意思客户的体验,那么一款产品的好坏有很多因素,其中性能是决定因素。

  • 当用户能够在 2 秒以内得到响应时,会感觉系统的响应很快;
  • 当用户在 2-5 秒之间得到响应时,会感觉系统的响应速度还可以;
  • 当用户在 5-8字体大全 秒以内得到响应时,会感觉系统的响应速度很慢,但是还可以接受;
  • 而当用户在超过 8 秒后仍然无法得到响应时,会感觉系统服务器租用多少钱一年糟透了,或者认为系统已经失去响应,而选择离开这个 Web 站点,或者发起第二次请求。

一个网索引页是哪一页站的性能好坏是留住用户和实现变现的基服务器内存和台式机内存区别础,也是我们前端工程师每天都要关注的问题。

前端实现首屏优化

前端性能优化划分

其实,前端性能优化大体分为两个方向,一个是加载时优化,一个是运行时优服务器

  • 加载时优化:预加载、缓存、网络层、页面解析、静态资源、
  • 运行时优化字体识别扫一扫避免强制同步布局、长列表优化、避免js执行时间过长、并行计算-服务器价格serv字体设计ice worker、Composite分层绘制、滚动事件性能优化、Passiv索引超出了数组界限什么意思e event listeners、动画

前端实现首屏优化

其中,首屏优化就属于加载时优化

首屏优化

首先,应该区分两个概念,一个是首屏时间,一个是白屏时间

  • 白屏时间是指浏览器索引的优缺点从响应用户输入网址地址,到浏览器开始显示内容的时间。
  • 首屏时间是指Chrome浏览器从响应用户输入网络地址,到首屏内容渲染完成的时间。

前端实现首屏优化

  • 影响白屏时间的因素:网elementary翻译络,服务端性能,前端页面结构设计。
  • 影响首屏时间的因素elementary:白屏时间,资源下载执行时间。

首屏性能指标

FPS:最能反映页面性能的指标FPS(字体大小怎么调frame per second),一般系统设置屏幕的刷新率为60fps。小于24就会出现明显的卡顿

DOMC索引超出了数组界限什么意思ontentLoaded:DOM加载并解析完成会触发DOMContentLoaded事件,如果源码输出的内容太多,客户端解析DOM的索引失效时间也会变长,例如增加2000个字体管家嵌套层叠可能会相应增加50-200ms,尽量保证首屏输出即可,后续的内容只保字体下载留钩子,利用js渲染。

流畅度:FPS 值越高,视觉呈现越流畅,在等待的过程中可以加入一些视觉缓冲。

首屏加载时间:通过DOMContentLoad或者performance来计算出首屏时间

// 方案一:
document.addEventListener('DOMContentLoaded', (event) => {
  console.log('first contentful painting');
});
// 方案二:
performance.getEntriesByName("first-contentful-paint")[0].startTime
​
// performance.getEntriesByName("first-contentful-paint")[0]
// 会返回一个 PerformancePaintTiming的实例,结构如下:
{
 name: "first-contentful-paint",
 entryType: "paint",
 startTime: 507.80000002123415,
 duration: 0,
};

前端实现首屏优化

前端实现首屏优化

1. DNS解析耗时: domainLookupEnd - domainLookupStart
2. TCP连接耗时: connectEnd - connectStart
3. SSL安全连接耗时: connectEnd - secureConnectionStart
4. 网络请求耗时(TTFB): responseStart - requestStart
5. 数据传输耗时: responseEnd - responseStart
6. DOM解析耗时: domInteractive - responseEnd
7. 资源加载耗时: loadEventStart - domContentLoadedEventEnd
8. 首包时间: responseStart - domainLookupStart
9. 首次渲染时间 / 白屏时间: responseEnd - fetchStart
10. 首次可交互时间: domInteractive - fetchStart
11. DOM Ready时间: domContentLoadEventEnd - fetchStart
12. 页面完全加载时间: loadEventStart - fetchStart

加载慢的原因

在页面渲染的过程,导致加载速度慢的因素可能如下:

  • 网络延时问题
  • 资源文件体积是否过大
  • 资源是否重复发送请求去加载了
  • 加载脚本的时候,渲染内容堵塞了

优化方法

我们可以从这个过程来挖掘优化点:交给DNS域名解析 -&gt索引的优缺点; 找到对应的IP地址 -> 然后进行TCP连接 -> 浏览器发送HTTP请服务器地址求 -> 服务器接收请求 -> 服务器处理请求并返回HTTP报文 -> 以及浏览器接收并解析渲染页面通过缩短请求时间,从而去加快网站的访问速度,提升性能。

常见的几种字体SPA首屏优化方式

  • 减小入口文件体积
  • 静态资源本地缓字体天下
  • UI框架按需加载
  • 图片资源的压缩
  • 组件重复打包
  • 开启GZip压缩
  • 使用SSR

减小入口文件体积

常用方法:

  • 路由懒加载: Vue:箭头函数+import React:React.Lazy
  • 静态资源引入CDN

静态资源本地缓存

后端返回资服务器租用多少钱一年源问题:chrome安卓下载

  • 字体识别扫一扫HTTP缓存,设置Cache-Control字体下载Last-ModifiedEtag等响应头
  • 采用Service Worker离线缓存

前端合理利用localSto索引符号rage


UI框架按需加载

常见诸如 Element-UI、Antd 快速使用中都有按需chrome什么意思使用的文档


图片资源的压缩

图片资源elementary是什么意思虽然不在编码过程中,但它却是对页索引的作用面性能影响最大的因素服务器租用多少钱一年

对于所有的图片资源,我们可以进行适当的压缩

对页面上使用到的ic索引页是哪一页on,可以使用在线 字体图标,或者雪碧图,将众多小字体下载图标合并到同一张图上,用以减轻http索引是什么意思求压力。


组件重复打包

假设A.js文件是一个常索引失效的几种情况用的库,现在有多个路由使用了A.js文件,这就造成了重复下载

解决方案:在webpack服务器地址config文件中,修改CommonsChun服务器价格kPlugin的配置

minChunks: 3

minChunks为3表示会把使用3次及以上的包抽离出来,放进公共依赖文件,避免了重复加载组件


开启GZip压缩

拆完包之后,我们再用gzip做一下压缩 安装compression-webpack-plugin

cnmp i compression-webpack-plugin -D

vue.congig.js中引入并修改elementary翻译webpackelementary是什么意思配置

const CompressionPlugin = require('compression-webpack-plugin')
​
configureWebpack: (config) => {
    if (process.env.NODE_ENV === 'production') {
      // 为生产环境修改配置...
      config.mode = 'production'
      return {
        plugins: [new CompressionPlugin({
          test: /.js$|.html$|.css/, //匹配文件名
          threshold: 10240, //对超过10k的数据进行压缩
          deleteOriginalAssets: false //是否删除原文件
         })]
       }
     }

在服务器我们字体识别扫一扫也要做相应的配置 如果发送请求的浏览器支持gzip,就发送给它gzip格式的文件 我的服务器是用express框架搭建的 只要安装一下compression服务器租用多少钱一年就能使用

const compression = require('compression')
app.use(compression())  // 在其他中间件使用之前调用

使用SSR

SSR(Servchrome浏览器安卓版下载er side ),也就是服务端渲染,组件或页面通过服务器生成html字符串,再发送到浏览器

从头搭建一个服务端渲染是很复杂的,vue应用建议使用Nuxt.js实现服务端渲染,Rchrome手机版eact建议Next.js

运行时优化

运行时性能是指页面运行字体设计时的性能表现,而不是页面加载时的性能。可element是什么意思以通过chrome开发者工具中的 Performance 面板来分析页面的运行时性能。

比如:

  • 减少重绘与重排
  • 避免页面卡顿
  • 长列表优化
  • 滚动事件性能优化
  • 使用 Web Workers
  • 写代码时的优化点

前端实现首屏优化

element是什么意思考链接

前端首屏优化

码农清风
分享 收藏 点赞(0)
上一篇
深入浅出推荐系统(一):推荐系统基本架构
下一篇
多平台快速开发的UI框架

深圳SEO优化公司坪地标王永湖百搜词包大芬网站制作大芬外贸网站设计深圳网络推广大鹏优秀网站设计石岩建设网站盐田百度爱采购松岗企业网站设计吉祥网站搭建大浪网站制作设计南联阿里店铺托管南山营销型网站建设平湖外贸网站设计横岗网站优化按天扣费松岗SEO按效果付费东莞关键词排名坂田优秀网站设计坪地网站搜索优化沙井SEO按天扣费民治英文网站建设南联百度标王双龙网页设计坑梓百姓网标王推广南山百度网站优化永湖外贸网站制作布吉SEO按天扣费南联建站丹竹头关键词按天计费深圳网站优化推广歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化