vue实现路由懒加载的3种方法示例


Posted in Javascript onSeptember 01, 2020

前言

路由懒加载在访问页面的时候非常重要,能够提高首页加载速度,避免出现加载时候白页,如果没有懒加载,webpack打包后的文件会非常大。

  • import按需加载(常用)
  • vue异步组件
  • webpack提供的require.ensure()

1、import按需加载(常用)

允许将不同的组件打包到一个异步块中,需指定了相同的webpackChunkName。

把组件按组分块

const A = () => import(/* webpackChunkName: "group-A" */ '@/A/A.vue')
const B = () => import(/* webpackChunkName: "group-A" */ '@/A/B.vue')
const C = () => import(/* webpackChunkName: "group-A" */ '@/A/C.vue')

注意:如果使用的是 babel,需要安装syntax-dynamic-import插件,才能使 babel 可以正确地解析语法。

2、vue异步组件

使用vue的异步组件 , 实现按需加载,每个组件生成一个js文件,实现组件的懒加载。

/* vue异步组件 */
{ path: '/A', name: 'A', component: resolve => require(['@/components/A'],resolve) }

3、webpack提供的require.ensure()

vue-router配置路由,使用webpack的require.ensure技术,实现按需加载。

这种情况下,多个路由指定相同的chunkName,会合并打包成一个js文件。

语法: require.ensure(dependencies: String[], callback: function([require]), [chunkName: String])

dependencies: 依赖的模块数组

callback: 回调函数,该函数调用时会传一个require参数

chunkName: 模块名,用于构建时生成文件时命名使用

const A= resolve => require.ensure([], () => resolve(require('@/components/A')), 'A');

注意:requi.ensure的模块只会被下载下来,不会被执行,只有在回调函数使用require(模块名)后,这个模块才会被执行。

总结

到此这篇关于vue实现路由懒加载的3种方法示例的文章就介绍到这了,更多相关vue路由懒加载内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
Javascript 键盘事件的组合使用实现代码
May 04 Javascript
JavaScript面向对象之Prototypes和继承
Jul 12 Javascript
浅谈JSON中stringify 函数、toJosn函数和parse函数
Jan 26 Javascript
JQuery boxy插件在IE中边角图片不显示问题的解决
May 20 Javascript
图解prototype、proto和constructor的三角关系
Jul 31 Javascript
jquery自动补齐功能插件flexselect用法示例
Aug 06 Javascript
Angular.js组件之input mask对input输入进行格式化详解
Jul 10 Javascript
Vue中父组件向子组件通信的方法
Jul 11 Javascript
彻底理解js面向对象之继承
Feb 04 Javascript
React中如何引入Angular组件详解
Aug 09 Javascript
使用watch在微信小程序中实现全局状态共享
Jun 03 Javascript
jQuery属性选择器用法实例分析
Jun 28 jQuery
JQuery使用数组遍历跳出each循环
Sep 01 #jQuery
vue+echarts实现动态折线图的方法与注意
Sep 01 #Javascript
node.js 如何监视文件变化
Sep 01 #Javascript
JS JQuery获取data-*属性值方法解析
Sep 01 #jQuery
谈谈node.js中的模块系统
Sep 01 #Javascript
JavaScript浅层克隆与深度克隆示例详解
Sep 01 #Javascript
VUE子组件向父组件传值详解(含传多值及添加额外参数场景)
Sep 01 #Javascript
You might like
PHP查询数据库中满足条件的记录条数(两种实现方法)
2013/01/29 PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
2014/06/27 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
2015/07/03 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
2017/08/28 PHP
Jquery如何实现点击时高亮显示代码
2014/01/22 Javascript
js实现在网页上简单显示时间的方法
2015/03/02 Javascript
javascript实现tab响应式切换特效
2016/01/29 Javascript
jQuery 调用WebService 实例讲解
2016/06/28 Javascript
详解vue.js的devtools安装
2017/05/26 Javascript
vuejs实现递归树型菜单组件
2018/01/13 Javascript
webpack项目调试以及独立打包配置文件的方法
2018/02/28 Javascript
微信小程序数据分析之自定义分析的实现
2018/08/17 Javascript
iview Upload组件多个文件上传的示例代码
2018/09/30 Javascript
[46:25]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第二局
2016/03/05 DOTA
Python 打印中文字符的三种方法
2018/08/14 Python
使用python爬取微博数据打造一颗“心”
2019/06/28 Python
python 根据字典的键值进行排序的方法
2019/07/24 Python
基于Pytorch SSD模型分析
2020/02/18 Python
python使用turtle库绘制奥运五环
2020/02/24 Python
opencv 图像滤波(均值,方框,高斯,中值)
2020/07/08 Python
Java爬虫技术框架之Heritrix框架详解
2020/07/22 Python
Smashbox英国官网:美国知名彩妆品牌
2017/11/13 全球购物
size?丹麦官网:英国伦敦的球鞋精品店
2019/04/15 全球购物
美国购买韩国护肤和美容产品网站:Althea Korea
2020/11/16 全球购物
法学专业个人求职信
2013/09/26 职场文书
大学自荐信
2013/12/12 职场文书
考试没考好检讨书
2014/01/31 职场文书
消防安全检查制度
2014/02/04 职场文书
外语系大学生自荐信范文
2014/03/01 职场文书
大学国际贸易专业自荐信
2014/06/05 职场文书
羽毛球比赛策划方案
2014/06/13 职场文书
学校安全教育月活动总结
2014/07/07 职场文书
2014年辅导员工作总结
2014/11/18 职场文书
课外活动实习计划
2015/01/19 职场文书
党员干部廉政承诺书
2015/04/28 职场文书
食品药品安全责任书
2015/05/11 职场文书