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 相关文章推荐
jquery.autocomplete修改实现键盘上下键自动填充示例
Nov 19 Javascript
Javascript中call与apply的学习笔记
Sep 22 Javascript
jQuery实现的fixedMenu下拉菜单效果代码
Aug 24 Javascript
javascript验证手机号和实现星号(*)代替实例
Aug 16 Javascript
iOS和Android用同一个二维码实现跳转下载链接的方法
Sep 28 Javascript
JS排序之冒泡排序详解
Apr 08 Javascript
Angularjs实现下拉框联动的示例代码
Aug 22 Javascript
jquery自定义显示消息数量
Dec 19 jQuery
Vue中使用clipboard实现复制功能
Sep 05 Javascript
vue中v-for通过动态绑定class实现触发效果
Dec 06 Javascript
JavaScript实现表单验证功能
Dec 09 Javascript
JavaScript实现简单拖拽效果
Sep 15 Javascript
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
function.inc.php超越php
2006/12/09 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
2015/03/23 PHP
php生成固定长度纯数字编码的方法
2015/07/09 PHP
PHP接收json 并将接收数据插入数据库的实现代码
2015/12/01 PHP
JS判断当前日期是否大于某个日期的实现代码
2012/09/02 Javascript
jQuery提交多个表单的小例子
2013/06/30 Javascript
js 将json字符串转换为json对象的方法解析
2013/11/13 Javascript
innerText 使用示例
2014/01/23 Javascript
JS方法调用括号的问题探讨
2014/01/24 Javascript
JavaScript中removeChild 方法开发示例代码
2016/08/15 Javascript
js实现右键自定义菜单
2016/12/03 Javascript
JS中正则表达式全局匹配模式 /g用法详解
2017/04/01 Javascript
详解Angular Forms中自定义ngModel绑定值的方式
2018/12/10 Javascript
微信小程序导航栏滑动定位功能示例(实现CSS3的positionsticky效果)
2019/01/24 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
2019/04/20 Javascript
Vue实现根据hash高亮选项卡
2019/05/27 Javascript
uniapp电商小程序实现订单30分钟倒计时
2020/11/01 Javascript
[05:49]2014DOTA2TI4正赛第二日综述 昔日冠军纷纷落马 VG LGD占尽先机
2014/07/20 DOTA
Python文件夹与文件的操作实现代码
2014/07/13 Python
Python简单调用MySQL存储过程并获得返回值的方法
2015/07/20 Python
python中异常捕获方法详解
2017/03/03 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
2019/01/29 Python
python实现简单加密解密机制
2019/03/19 Python
python elasticsearch从创建索引到写入数据的全过程
2019/08/04 Python
pycharm导入源码的具体步骤
2020/08/04 Python
python如何获得list或numpy数组中最大元素对应的索引
2020/11/16 Python
美国波西米亚风格服装品牌:Show Me Your Mumu
2018/01/05 全球购物
岗位职责风险点
2014/03/12 职场文书
优秀驾驶员先进事迹材料
2014/05/04 职场文书
婚纱店策划方案
2014/05/22 职场文书
大学生求职信怎么写
2015/03/19 职场文书
2015年小学数学教师工作总结
2015/05/20 职场文书
2015年绩效考核工作总结
2015/05/23 职场文书
单身证明范本
2015/06/15 职场文书
分享:关于学习的励志名言赏析
2019/08/16 职场文书
几款流行的HTML5 UI框架比较(小结)
2021/04/08 HTML / CSS