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

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

一、组件优化

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

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

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

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

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

二、路由懒加载

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

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

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

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

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

相关推荐
一斤代码2 小时前
vue3 下载图片(标签内容可转图)
前端·javascript·vue
中微子2 小时前
React Router 源码深度剖析解决面试中的深层次问题
前端·react.js
光影少年2 小时前
从前端转go开发的学习路线
前端·学习·golang
中微子3 小时前
React Router 面试指南:从基础到实战
前端·react.js·前端框架
3Katrina3 小时前
深入理解 useLayoutEffect:解决 UI "闪烁"问题的利器
前端·javascript·面试
前端_学习之路4 小时前
React--Fiber 架构
前端·react.js·架构
伍哥的传说4 小时前
React 实现五子棋人机对战小游戏
前端·javascript·react.js·前端框架·node.js·ecmascript·js
qq_424409194 小时前
uniapp的app项目,某个页面长时间无操作,返回首页
前端·vue.js·uni-app
我在北京coding4 小时前
element el-table渲染二维对象数组
前端·javascript·vue.js
布兰妮甜4 小时前
Vue+ElementUI聊天室开发指南
前端·javascript·vue.js·elementui