最好用的vue图片,vue图片网站

首页 > 经验 > 作者:YD1662022-11-03 22:10:06

image.png

如上图所示 在打包后就能分析出打包后的js 文件他包含什么组件,如此以来,我们就能知道那些文件是没必要同步加载的,或者走cdn的,通过配置将他单独的隔离开来,从而找出性能的问题

牛逼啊!接私活必备的 N 个开源项目!利用chorme devtool 的代码覆盖率

如下图所示,

最好用的vue图片,vue图片网站(9)

image.png

利用 devtool的代码覆盖率检查就能知道那些js 或者css 文件的代码没有被使用过,结合包内容的分析,我们就能大概的猜出性能的瓶颈在哪里从而做相应的特殊处理

针对vue 的特殊优化

以上内容都是通用的一些优化手段,您在哪都能查到,只是我表达了一下做这些常规优化的深层原因。能让您更清楚的了解这些原因之后,在性能瓶颈的时候能游刃有余,而不是为了面试死记硬背,一到用的时候就不灵

然后我司是vue啊,咱得上得vue 的手段

图片懒加载

所谓图片懒加载,就是页面只渲染当前可视区域内的图片,如此一来,减少了其他图片渲染数量,能大大提高SpeedIndex和LCP的时间,从而提高分数。另外,搜索公众号程序员小乐后台回复“面试题”,获取一份惊喜礼包。

在vue中提起图片懒加载插件,首推vue-lazyload[16]

使用方式简单,功能丰富

虚拟滚动

在一含有长列表页面中,你有没有发现你是往下越滑越卡,此时虚拟滚动就排上用场了, 他的基本原理就是只渲染可视区域内的几条数据,但是模拟出正常滑动的效果,因为每次只渲染可是剧域内的数据,在滑动的时候他的性能就会有飞速提升

在vue中比较好用的插件有两个vue-virtual-scroller[17]vue-virtual-scroll-list[18]

目前我司统一用的vue-virtual-scroll-list 他下拉的时候到了分页的地方能加些loading提示

vue 中的函数式组件

在vue中我们知道组件的初始化是比较损耗性能的,大家可以去试一下,使用vue 直接渲染一个文字内容,和直接渲染一个app.vue 组件他的分数是略有不同的。

但是当有了函数式组件,这个问题就迎刃而解了

因为函数是组件顾名思义他就是个函数,说白了就是个render函数,他少了组件初始化的过程,省去了很多初始化过程的开销

什么时候用函数式组件呢?

当你的组件中没有业务逻辑只展示内容时,这时候函数式组件就派上用场了

利用v-show 、KeepAlive 复用dom

我们知道v-show是通过display 控制dom的展示隐藏,他并不会删除dom 而我们在切换v-show的时候其实是减少了diff的对比,而KeepAlive 则是直接复用dom,连diff 的过程都没了,并且他们俩的合理使用还不会影响到初始化渲染。如此一来减少了js 的执行开销,但是值得注意的是,他并不能优化你初始化的性能,而是操作中的性能

分批渲染组件

在前面我们提到过SpeedIndex 的渐进渲染是提高SpeedIndex的关键,有了这个前提,我们就可以分批异步渲染组件。先看到内容,然后在渲染其他内容

举个例子:

<template> <div> {{ data1 }} </div> <div v-if="data1"> {{ data2 }} </div> </template> <script> import { ref } from 'vue' export default { setup() { let data1 = ref('') let data2 = ref('') // 假设 这是从后端取到的数据 const data = { data1: '这是渲染内容1', data2: '这是渲染内容2' } data1.value = data.data1 //利用requestAnimationFrame 在空闲的时候当前渲染之后在渲染剩余内容 requestIdleCallback(() => { data2.value = data.data2 }) return { data1, data2 } }, } </script> 复制代码

上述例子比较简单可能描述的不太贴切,在这里特此说明一下,当前方法适用于组件内容较多,每次render 时间过长,导致白屏时间过长,比如,一次拉取用户列表,那么分批渲染就非常合适,先展示一部分用户信息,最后直到慢慢将所有内容渲染完毕。如此对浏览器的SpeedIndex 也非常友好

最后

性能优化一直是一个很火的话题, 不管从面试以及工作中都非常重要,有了这些优化的点,你在写代码或者优化老项目时都能游刃有余,能提前考虑到其中的一些坑,并且规避。

但是大家需要明白的是,不要为了性能优化而性能优化,我们在要因地制宜,在不破坏项目可维护性的基础上去优化,千万不要你优化个项目性能是好了,但是大家都看不懂了,这就有点得不偿失了,还是那句话,60分万岁61份浪费,差不多得了,把经历留着去干更重要的事情!

如果感觉有帮助的话,别忘了给前端妹点个

最好用的vue图片,vue图片网站(10)

。谢谢大家哦!!!

如果觉得这篇文章还不错,来个【分享、点赞、在看】三连吧,让更多的人也看到~

最好用的vue图片,vue图片网站(11)

前端妹拍了拍你说:

记得戳小花花哦~

最好用的vue图片,vue图片网站(12)

上一页1234下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.