vue性能优化之异步组件和路由懒加载

今天来聊聊vue2的性能小优化之异步组件路由懒加载

一、组件优化

目前代码块中包含了两个子组件,它们在符合条件的情况下才会渲染,采用了最基础的方式进行导入。

页面刷新后会加载五个文件,在点击显示两个组件时,只会新增一个文件,加载的是element的字体文件,也就是说在页面初始化时就已经加载了组件文件。

现在我们把它改写成异步组件,再来做个对比:

当我们点击显示组件时,控制台会新增一个请求,这时才会从服务器请求需要显示的源文件,另外一个组件也是同样的原理。

这样做的目的是在首屏渲染时减少加载文件的数量,在需要用到一些组件时才会从服务器获取,而且不会重复请求,可以有效的减少白屏的时间。

二、路由懒加载

接着来看一下路由懒加载:

目前这种方式,项目到后期javascript的包会变得非常大,影响页面加载。

而懒加载简单来说就是延迟加载或按需加载,即在需要使用到路由的时候才进行加载,修改如下:

常用的路由懒加载一般有两种,vue异步组件和ES中的import,不过这样写还是不够太简便,我们可以写一个方法将路由组件一次导入。

需要注意的是pages文件下的组件将会一次性全部导入,可根据需求来选择方案,这里的route.name需要与组件名称一致,不然无法导入。最后将路由导出即可。

相关推荐
从文处安4 分钟前
「前端何去何从」一直写 Vue ,为何要在 AI 时代去学 React?
前端·react.js
aircrushin19 分钟前
OpenClaw“养龙虾”现象的社会技术学分析
前端·后端
明君8799728 分钟前
#Flutter 的官方Skills技能库
前端·flutter
yuki_uix34 分钟前
重新认识 React Hooks:从会用到理解设计
前端·react.js
林太白37 分钟前
ref和reactive对比终于学会了
前端
Apifox41 分钟前
测试数据终于不用到处复制了,Apifox 自动化测试新增「共用测试数据」
前端·后端·测试
小小小小宇1 小时前
Mac龙虾保姆级完整部署指南
前端
睡不着的可乐1 小时前
vue2 和 vue3自定义指令有什么区别,都是怎么实现和使用一个指令
前端·vue.js
闲来没事抠鼻屎1 小时前
Web打印插件实战:轻量化JS打印方案vue-print-designer落地指南
前端
孙凯亮1 小时前
从 SSR 踩坑到 CSR 封神:Nuxt4 全流程终极实战
前端