Vue项目的18种性能优化思路详解

(最近在钻研Vue3,容易给Vue2给忘咯)

开始

本章提供思路包括以下。

  • Vue 代码层面的优化
  • webpack 配置层面的优化
  • 基础的 Web 技术层面的优化
  • Chrome Performance,WebPageTest 性能分析工具

优化思路

Vue官网关于性能优化也有一些概述,感兴趣的话可以Look Look(查看)

  1. webpack-bundle-analyzer 可以清晰查看打包文件的大小
//package.json添加,不咋记这代码,加个代码块
"build-report": "vue-cli-service build --report"
==>dist==>report.html
  1. 考虑渲染(浏览器在渲染出页面之前,有一段白屏的时间,可以添加 loading之类的)
  2. v-if , v-show使用场景的区分
  3. v-for需要加key,且key值不推荐用index
  4. v-for 与 v-if 使用需考虑冲突(vue2: v-for > v-if ,vue3 : v-for < v-if )
  5. 使用keep-alive缓存不活动的组件
  6. 模块懒加载
//=_=加个代码
// app.js
const demo= () => import('./demo.js')

// 延迟加载
demo().then({ demo-text} => demo())
  1. 图片资源懒加载(无论是考虑大量加载还是弱网络)
//不爱记这插件名 加个常用的代码块先
 npm install vue-lazyload --save-dev
 import VueLazyload from 'vue-lazyload'
 <img v-lazy="/static/img/1.png">
  1. 路由懒加载 (Vue3是异步组件)
//别说 你还真别说 加个代码先
const routes = [
  { path: '/', component: () => import('./a.vue') }
  { path: '/luyou', component: () => import('./b.vue') }
]
  1. 第三方插件按需引入
  2. 长列表使用虚拟列表(理解一个概念 响应数据 和 展示数据)
  3. 响应数据量的控制(computed 和 watch 区分使用场景)
  4. 事件及时销毁(计时器之类的不会自动销毁的事件)
  5. 开启 gzip 压缩
//加个代码
 npm install compression --save
 var compression = require('compression');
 var app = express();
 app.use(compression())
  1. css,js库,图片等静态文件可以采用CDN
  2. 重绘与回流之间的协调
  3. 防抖与回流处理重复事件
  4. 浏览器缓存(访问一个网站后,浏览器会对JS和CSS去进行缓存)

(还不三连 点赞 收藏 投个币 (哈哈哈))
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SqCheese

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值