vue3性能优化
1. Lighthouse
谷歌浏览器自带的 DevTools
也可以全局安装Lighthouse
# 安装
yarn global add lighthouse
# 使用
lighthouse 网站地址
1.1 性能参数
2. rollup-plugin-visualizer(打包代码块分析)
vite
打包是基于rollup
的,所以可以使用这个插件进行包分析
# 安装
npm install rollup-plugin-visualizer
配置vite.config.ts
import { visualizer } from 'rollup-plugin-visualizer';
...
plugins: [vue(), vueJsx(),visualizer({
open:true
})],
npm run build
打包
3. vite配置优化
/* vite.config.ts */
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
export default defineConfig({
...
build: {
chunkSizeWarningLimit: 2000,
cssCodeSplit: true, //css 拆分
sourcemap: false, //不生成sourcemap
minify: false, //是否禁用最小化混淆,esbuild打包速度最快,terser打包体积最小。
assetsInlineLimit: 5000 //小于该值 图片将打包成Base64
}
})
4. PWA离线缓存技术
npm install vite-plugin-pwa -D
PWA 技术
的出现就是让web网页
无限接近于Native 应用
- 可以添加到主屏幕,利用manifest实现
- 可以实现离线缓存,利用service worker实现
- 可以发送通知,利用service worker实现
配置vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { VitePWA } from 'vite-plugin-pwa'
export default defineConfig({
plugins: [
vue(),
VitePWA({
workbox: {
cacheId: "DuoDuo",//缓存名称
runtimeCaching: [
{
urlPattern: /.*\.js.*/, //缓存文件
handler: "StaleWhileRevalidate", //重新验证时失效
options: {
cacheName: "DuoDuo-js", //缓存js,名称
expiration: {
maxEntries: 30, //缓存文件数量 LRU算法
maxAgeSeconds: 30 * 24 * 60 * 60 //缓存有效期
}
}
}
]
},
}),
...
],
})
打包后生产sw.js
文件
5. 其他优化
- 图片懒加载
使用 vue3-lazy
或者自己封装一个懒加载指令,详请可见:vue自定义指令图片懒加载
import lazyPlugin from 'vue3-lazy'
<img v-lazy="user.avatar" >
- 虚拟列表
后端数据返回过多时,但不想分页或过滤优化,原理是删除可视区域外的DOM节点
- websocket多线程
一般前后端数据交互是前端发送请求,后端返回数据。缺点是每次获取新数据都需要提交新请求
websocket
实现是根据后端数据的改变推送新数据到前端,运用场景一般图表展示,图表数据实时变化
VueUse 库已经集成了 webWorker — useWebWork
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgggjig
系列文章
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13