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

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

一、组件优化

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

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

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

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

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

二、路由懒加载

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

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

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

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

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

相关推荐
Sylvia33.2 分钟前
网球/羽毛球数据API:专业赛事数据服务的技术实现
java·前端·websocket·json
i_am_a_div_日积月累_2 分钟前
el-drawer注册全局点击事件无效;el-dialog注册全局点击事件无效
javascript·vue.js·elementui
啥都不懂的小小白20 分钟前
Vue第四篇:组件通信 + DOM 更新 + 过渡动画
vue.js·全局事件通信
向下的大树23 分钟前
VUE父子组件传参中的触发时机问题:异步场景下的解决方案
前端·javascript·vue.js
英俊潇洒美少年24 分钟前
vue2中使用节流防抖函数时,使用的vue状态始终是初始化的数据
前端·javascript·vue.js
棒棒的唐38 分钟前
适合小程序使用的将对象数组转换为参数字符串方法
前端·javascript·小程序
小码过河.1 小时前
设计模式——外观模式
设计模式·外观模式
刘一说1 小时前
Vue3响应式原理重构:从Object.defineProperty到Proxy的革命性升级
javascript·vue.js·重构
博客zhu虎康1 小时前
音频视频处理:前端直播流播放 flv
前端
一位搞嵌入式的 genius1 小时前
深入理解 JavaScript 原型与继承:从基础到进阶
开发语言·前端·javascript