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 相关文章推荐
vue从后台渲染文章列表以及根据id跳转文章详情详解
Dec 14 Vue.js
如何使用RoughViz可视化Vue.js中的草绘图表
Jan 30 Vue.js
vue3.0中使用element的完整步骤
Mar 04 Vue.js
vue-cropper组件实现图片切割上传
May 27 Vue.js
Vue图片裁剪组件实例代码
Jul 02 Vue.js
解决vue-router的beforeRouteUpdate不能触发
Apr 14 Vue.js
vue封装数字翻牌器
Apr 20 Vue.js
vue 自定义组件添加原生事件
Apr 21 Vue.js
详解Vue3使用axios的配置教程
Apr 29 Vue.js
vue router 动态路由清除方式
May 25 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
全国FM电台频率大全 - 19 广东省
2020/03/11 无线电
php和mysql中uft-8中文编码乱码的几种解决办法
2012/04/19 PHP
PHP设计模式之调解者模式的深入解析
2013/06/13 PHP
php 获取SWF动画截图示例代码
2014/02/10 PHP
Zend Framework教程之Loader以及PluginLoader用法详解
2016/03/09 PHP
利用php_imagick实现复古效果的方法
2016/10/18 PHP
PhpStorm2020.1 安装 debug - Postman 调用的详细教程
2020/08/17 PHP
javascript URL锚点取值方法
2009/02/25 Javascript
用JavaScript实现单继承和多继承的简单方法
2009/03/29 Javascript
鼠标移动到图片名上,显示图片的简单实例
2013/07/14 Javascript
详解基于javascript实现的苹果系统底部菜单
2016/12/02 Javascript
微信小程序实现登录注册tab切换效果
2020/12/29 Javascript
vue生命周期与钩子函数简单示例
2019/03/13 Javascript
Vue组件通信的几种实现方法
2019/04/25 Javascript
M2实现Nodejs项目自动部署的方法步骤
2019/05/05 NodeJs
jquery实现动态创建form并提交的方法示例
2019/05/27 jQuery
vue使用混入定义全局变量、函数、筛选器的实例代码
2019/07/29 Javascript
开源软件包和环境管理系统Anaconda的安装使用
2017/09/04 Python
Python3中bytes类型转换为str类型
2018/09/27 Python
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
2018/12/24 Python
python Selenium实现付费音乐批量下载的实现方法
2019/01/24 Python
对Python的多进程锁的使用方法详解
2019/02/18 Python
Python创建字典的八种方式
2019/02/27 Python
Python中使用socks5设置全局代理的方法示例
2020/04/15 Python
IDLE下Python文件编辑和运行操作
2020/04/25 Python
Python selenium实现断言3种方法解析
2020/09/08 Python
详解canvas在圆弧周围绘制文本的两种写法
2018/05/22 HTML / CSS
法国滑雪假期的专家:Ski Planet
2019/11/02 全球购物
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
2014/09/09 面试题
JavaScript实现前端网页版倒计时
2021/03/24 Javascript
家长对学校的意见和建议
2015/06/03 职场文书
幼儿园安全管理制度
2015/08/05 职场文书
2015教师个人师德工作总结
2015/10/23 职场文书
学习商务礼仪心得体会
2016/01/22 职场文书
Mysql数据库中datetime、bigint、timestamp来表示时间选择,谁来存储时间效率最高
2021/08/23 MySQL
SpringBoot连接MySQL获取数据写后端接口的操作方法
2021/11/02 MySQL