首页 > 其他分享 >前端性能优化有哪些?

前端性能优化有哪些?

时间:2023-11-07 18:55:32浏览次数:36  
标签:缓存 DOM 前端 哪些 优化 性能 资源 加载

前端有哪些性能优化?
前端性能优化分两部分
1、加载性能优化
2、渲染性能优化
一、加载性能优化
本质:
  • 1、减少请求次数;
  • 2、减少请求资源的大小;
  • 3、网络优化;
1、 减少请求次数方式
     1)图片资源
  ○ CSS雪碧图:把一些常用、重复使用的小图合并成一张大图
  ○ 图片懒加载:
     利用css的loading属性。视区外图片先不加载,当进入视区或者进入视区之前的某个位置加载。
  ○ 使用字体图标 iconFont
  2)合理利用缓存
    3)合并CSS文件和JS文件
         减少HTTP请求数量和提高网站加载速度
2、减少资源大小
    1)资源压缩
         压缩图片;使用webp代替其他格式;图片使用懒加载;可以使用img的srcset,根据不同分辨率显示不同尺寸图片
    2)Tree Shaking技术
         Tree Shaking: 无用导出将在生产环境进行删除,到达减少资源体积的效果;
3、网络优化
    1)CND:就近原则
    2)Http2.0
4、其他
    ○ 路由懒加载
    ○ 第三方组件按需加载

二、渲染性能优化

    1)资源加载优先级控制
  • css引入放在head标签尾部,script脚本防砸body标签尾部;
  • 脚本与DOM/其它脚本的依赖关系很强:对<script>设置defer
  • 脚本与DOM/其它脚本的依赖关系不强:对<script>设置async
  • preload 加载当前路由必需资源,优先级高,一般对于 Bundle资源使用preload;
  • refetch 优先级低,在浏览器 idle 状态时加载资源,一般用以加载非首页资源;
  • preload/prefetch
           preload/prefetch 可控制 HTTP 请求优先级,从而达到关键请求更快响应的目的;
           dns-prefetch,可对主机地址的 DNS 进行预解析。
       • js和css的引入位置/script类型设置
    2)减少重排重绘
         • 减少页面DOM操作;
         • 对 DOM 元素执行一系列操作,可以将 DOM 元素脱离文档流,修改完成后,再将它带回文档。例如:隐藏元素(display:none)、文档碎片(DocumentFragement)等(虚拟dom);
         • 用 JavaScript 修改样式时,最好不要直接修改单个样式属性,而是替换 class 来改变样式;
         • 合理使用防抖和节流;
    3)利用缓存
        • 页面缓存(keep-alive),接口缓存(减少数据更新导致的页面刷新)
    4)Web Worker
       • 用于那些处理纯数据,或者与浏览器 UI 无关的长时间运行脚本;


三、vue优化
    1) 路由懒加载组件
    2) keep-alive 缓存组件,保持原显示状态
    3) 列表项添加key,保证唯一
    4) v-if 和 v-for 不要用在一个标签上,它会在每个项上进行 v-if 判断

标签:缓存,DOM,前端,哪些,优化,性能,资源,加载
From: https://www.cnblogs.com/buluzombie/p/17815673.html

相关文章

  • centos 安装etcd|待优化
    下载https://github.com/etcd-io/etcd/releases/download/v3.5.0/etcd-v3.5.0-linux-amd64.tar.gz安装解压cd/usr/local/srctarzxvfetcd-v3.5.0-linux-amd64.tar.gzmvetcd-v3.5.0-linux-amd64etcd-v3.5.0配置vi/etc/profileexportPATH=$PATH:/usr/local/src/etcd-v3.5......
  • Vue 生命周期有哪些?
    Vue实例从创建到销毁的过程,就是生命周期。也就是从开始创建、初始化数据、编译模板、挂载Dom→渲染、更新→渲染、卸载等一系列过程,我们称这是Vue的生命周期。1、beforeCreate在实例初始化之后,数据观测(dataobserver)和event/watcher事件配置之前被调用2、created在......
  • Day02-Java开发所需的前端技术
    HTML常见元素1.文本元素Heading:不同字号标题,从1-6,数字越大字号越小。<!--标题元素--><h1>1号标题</h1><h2>2号标题</h2><h3>3号标题</h3><h4>4号标题</h4><h5>5号标题</h5><h6>6号标题</h6>Paragrap......
  • 视频监控管理平台EasyCVR定制算法如何操作?包含哪些?
    视频监控平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流,也能支持视频定时轮播。视频监控汇聚平台EasyCVR支持多种播放协议,包括:HLS、HTTP......
  • 视频监控管理平台EasyCVR定制算法如何操作?包含哪些?
    视频监控平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流,也能支持视频定时轮播。视频监控汇聚平台EasyCVR支持多种播放协议,包括:HLS、HTT......
  • Unity如何优化Drawcall
    降低游戏的Drawcall,是渲染优化很重要的手段,接下来从以下4个方面来分析如何降低DrawCall:(1)降低Drawcall的意义是什么?如何查看游戏的Drawcall;(2)Drawcall合批的常用的技术手段原理与优缺点;(3)组织项目让Drawcall最小需要注意的点;搞清楚这些,Drawcall的优化基本上就能很......
  • Unity性能优化之内存篇
    本文和传统的内存优化不一样,不是讲如何降低内存占用,而是讲编程开发中要注意的内存问题以及一些内存技术的演变与原理。 本文很长,目录如下:(1)Application进程的内存分段;(2)OS动态内存分配与手动内存管理;(3)什么是内存碎片,避免内存碎片常用手段;(4)什么是内存泄漏,预防与......
  • 如何做好Unity项目性能优化
      在面试中,我们经常会被问各种”莫名奇妙”的问题,比如这道:”你是如何做好Unity项目性能优化的?”。“这个问题也太泛了吧,没有具体的优化点,这怎么回答?”瞬间跃入脑海。做面试复盘的时候,你可能会想这个面试官是不是什么都不懂,是个”青铜”啊。没错,能问这道问题的面试官要么......
  • 项目经理的证书,都有哪些?
    项目经理是一种从事项目管理工作的职场工作者,项目经理是需要具有较高工作水平和管理能力的。有朋友问项目经理可以考的证书有哪些?下面我们给大家介绍一下。 一、PMP® —项目经理必备证书 PMP®认证的全称是ProjectManagementProfesional,是项目管理专业人员的资格认证。PMP®认......
  • 看我一行代码起飞,Glide加载gif优化实践
    前言最近项目中有使用到gif动画,加上本身已经引入了Glide(支持gif)库,所以便用Glide来加载了;但在使用过程中还是遇到了不少困难,在此记录下,希望可以给遇到类似问题的你一些思考和建议。一、Glide加载gif1.在项目中添加依赖dependencies{compile'com.github.bumptech.glide:glide:4......