vue-router懒加载的3种方式汇总


Posted in Vue.js onFebruary 28, 2021

未使用懒加载

import Vue from 'vue';
import Router from 'vue-router';
import HelloWorld from '@components/HelloWorld';
Vue.use(Router);
export default new Router({
routes:[
	{path:'./',
	name:'HelloWorld',
	component:HelloWorld
	}
]
})

vue异步组件

component:resolve=>{reuqire([‘需要加载的路由地址']),resolve)

import Vue from 'vue';
import Router from 'vue-router';
const HelloWorld=resolve=>{require(["@/components/HelloWorld"],resolve}
Vue.use(Router);
export default new Router({
routes:[
	{path:'./',
	name:'HelloWorld',
	component:HelloWorld
	}
]
})

ES6的import()

import Vue from 'vue';
import Router from 'vue-router';
import HelloWorld=()=>import('@/components/HelloWorld');
Vue.use('Router')
export default new Router({
	routes:[{
	{path:'./',
	name:'HelloWorld',
	component:HelloWorld
	}
	}]
})

webpack的require.ensure()

require.ensure可实现按需加载资源,包括js,css等。他会给里面require的文件单独打包,不会和主文件打包在一起。

第一个参数是数组,表明第二个参数里需要依赖的模块,这些会提前加载。

第二个是回调函数,在这个回调函数里面require的文件会被单独打包成一个chunk,不会和主文件打包在一起,这样就生成了两个chunk,第一次加载时只加载主文件。

第三个参数是错误回调。

第四个参数是单独打包的chunk的文件名

import Vue from 'vue';
import Router from 'vue-router';
const HelloWorld=resolve=>{
		require.ensure(['@/components/HelloWorld'],()=>{
			resolve(require('@/components/HelloWorld'))
		})
	}
Vue.use('Router')
export default new Router({
	routes:[{
	{path:'./',
	name:'HelloWorld',
	component:HelloWorld
	}
	}]
})

总结

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

Vue.js 相关文章推荐
深入了解Vue3模板编译原理
Nov 19 Vue.js
vue + el-form 实现的多层循环表单验证
Nov 25 Vue.js
基于vue项目设置resolves.alias: '@'路径并适配webstorm
Dec 02 Vue.js
vue+element_ui上传文件,并传递额外参数操作
Dec 05 Vue.js
Vue 组件注册全解析
Dec 17 Vue.js
vue element el-transfer增加拖拽功能
Jan 15 Vue.js
如何封装Vue Element的table表格组件
Feb 06 Vue.js
Vue3.0 手写放大镜效果
Jul 25 Vue.js
关于Vue中的options选项
Mar 22 Vue.js
一起来看看Vue的核心原理剖析
Mar 24 Vue.js
vue实力踩坑之push当前页无效
Apr 10 Vue.js
vue3 自定义图片放大器效果的示例代码
Jul 23 Vue.js
Vue SPA 首屏优化方案
Feb 26 #Vue.js
vue 动态添加的路由页面刷新时失效的原因及解决方案
Feb 26 #Vue.js
vue项目配置 webpack-obfuscator 进行代码加密混淆的实现
Feb 26 #Vue.js
vue中h5端打开app(判断是安卓还是苹果)
Feb 26 #Vue.js
Vue基本指令实例图文讲解
Feb 25 #Vue.js
vue常用高阶函数及综合实例
Feb 25 #Vue.js
详解vite+ts快速搭建vue3项目以及介绍相关特性
Feb 25 #Vue.js
You might like
destoon实现首页显示供应、企业、资讯条数的方法
2014/07/15 PHP
FastCGI 进程意外退出造成500错误
2015/07/26 PHP
关于PHP 如何用 curl 读取 HTTP chunked 数据
2016/02/26 PHP
将PHP的session数据存储到数据库中的代码实例
2016/06/24 PHP
php魔术方法功能与用法实例分析
2016/10/19 PHP
Yii2配置Nginx伪静态的方法
2017/05/05 PHP
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
php转换上传word文件为PDF的方法【基于COM组件】
2019/06/10 PHP
php源码的使用方法讲解
2019/09/26 PHP
原生javascript获取元素样式属性值的方法
2010/12/25 Javascript
HTML上传控件取消选择
2013/03/06 Javascript
Jquery实现视频播放页面的关灯开灯效果
2013/05/27 Javascript
JavaScript中的eval()函数详解
2013/08/22 Javascript
js实现不提交表单获取单选按钮值的方法
2015/08/21 Javascript
深入学习jQuery Validate表单验证
2016/01/18 Javascript
js控制TR的显示隐藏
2016/03/04 Javascript
window.open不被拦截的简单实现代码(推荐)
2016/08/04 Javascript
Bootstrap table使用方法记录
2017/08/23 Javascript
浅谈webpack打包之后的文件过大的解决方法
2018/03/07 Javascript
详解Vue CLI3配置之filenameHashing使用和源码设计使用和源码设计
2018/08/31 Javascript
BootstrapValidator验证用户名已存在(ajax)
2019/11/08 Javascript
解决vue语法会有延迟加载显现{{xxx}}的问题
2019/11/14 Javascript
vue-cli3项目配置eslint代码规范的完整步骤
2020/09/10 Javascript
Python实现3行代码解简单的一元一次方程
2014/08/18 Python
使用pdb模块调试Python程序实例
2015/06/02 Python
python tkinter实现彩球碰撞屏保
2019/07/30 Python
如何理解Python中的变量
2020/06/01 Python
详解基于Facecognition+Opencv快速搭建人脸识别及跟踪应用
2021/01/21 Python
Dr. Martens马汀博士法国官网:马丁靴鼻祖
2020/01/15 全球购物
迅雷Cued工作心得体会
2014/01/27 职场文书
事业单位鉴定材料
2014/05/25 职场文书
2014年电信员工工作总结
2014/12/19 职场文书
毕业实习单位意见
2015/06/04 职场文书
WordPress多语言翻译插件 - WPML使用教程
2021/04/01 PHP
常用的文件对应的MIME类型汇总
2022/04/26 HTML / CSS
讲解MySQL增删改操作
2022/05/06 MySQL