vue实现路由懒加载及组件懒加载的方式


Posted in Javascript onJune 11, 2019

一、为什么要使用路由懒加载

为给客户更好的客户体验,首屏组件加载速度更快一些,解决白屏问题。

二、定义

懒加载简单来说就是延迟加载或按需加载,即在需要的时候的时候进行加载。

三、使用

常用的懒加载方式有两种:即使用vue异步组件 和 ES中的import

1、未用懒加载,vue中路由代码如下

 

  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
          }
         ]
        })

2、vue异步组件实现懒加载

方法如下:component:resolve=>(require(['需要加载的路由的地址']),resolve)

import Vue from 'vue'
import Router from 'vue-router'
/* 此处省去之前导入的HelloWorld模块 */
Vue.use(Router)

export default new Router({
 routes: [
  {
   path: '/',
   name: 'HelloWorld',
   component: resolve=>(require(["@/components/HelloWorld"],resolve))
  }
 ]
})

3、ES 提出的import方法,(------最常用------)

方法如下:const HelloWorld = ()=>import('需要加载的模块地址')

(不加 { } ,表示直接return)

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

四、组件懒加载

 相同与路由懒加载,

1、原来组件中写法

<template>
 <div class="hello">
 <One-com></One-com>
 1111
 </div>
</template>

<script>
import One from './one'
export default {
 components:{
  "One-com":One
 },
 data () {
  return {
   msg: 'Welcome to Your Vue.js App'
  }
 }
}
</script>

2、const方法

<template>
 <div class="hello">
 <One-com></One-com>
 1111
 </div>
</template>

<script>
const One = ()=>import("./one");
export default {
 components:{
  "One-com":One
 },
 data () {
  return {
   msg: 'Welcome to Your Vue.js App'
  }
 }
}
</script>

3、异步方法

<template>
 <div class="hello">
 <One-com></One-com>
 1111
 </div>
</template>

<script>
export default {
 components:{
  "One-com":resolve=>(['./one'],resolve)
 },
 data () {
  return {
   msg: 'Welcome to Your Vue.js App'
  }
 }
}
</script>

五、总结:

路由和组件的常用两种懒加载方式:

1、vue异步组件实现路由懒加载

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

2、es提出的import(推荐使用这种方式)

const HelloWorld = ()=>import('需要加载的模块地址')

总结

以上所述是小编给大家介绍的vue实现路由懒加载及组件懒加载的方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
在Ajax中使用Flash实现跨域数据读取的实现方法
Dec 02 Javascript
jQuery中delegate()方法用法实例
Jan 19 Javascript
Node.js中的流(Stream)介绍
Mar 30 Javascript
js实现仿Discuz文本框弹出层效果
Aug 13 Javascript
谈谈JavaScript类型系统之Math
Jan 06 Javascript
javascript跨域请求包装函数与用法示例
Nov 03 Javascript
浅谈js原生拖放
Nov 21 Javascript
原生js实现节日时间倒计时功能
Jan 18 Javascript
jQuery多选框选择数量限制方法
Feb 08 Javascript
使用vue-cli打包过程中的步骤以及问题的解决
May 08 Javascript
JavaScript实现滚动加载更多
Dec 27 Javascript
使用JS实现简易计算器
Jun 14 Javascript
Vue+element 解决浏览器自动填充记住的账号密码问题
Jun 11 #Javascript
Flutter部件内部状态管理小结之实现Vue的v-model功能
Jun 11 #Javascript
JavaScript动态检测密码强度原理及实现方法详解
Jun 11 #Javascript
聊聊Vue 中 title 的动态修改问题
Jun 11 #Javascript
vue+element模态框中新增模态框和删除功能
Jun 11 #Javascript
vue.js中导出Excel表格的案例分析
Jun 11 #Javascript
ES6 Proxy实现Vue的变化检测问题
Jun 11 #Javascript
You might like
php中计算未知长度的字符串哪个字符出现的次数最多的代码
2012/08/14 PHP
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
2014/06/06 PHP
php图片的二进制转换实现方法
2014/12/15 PHP
Zend Framework分页类用法详解
2016/03/22 PHP
php版阿里云OSS图片上传类详解
2016/12/01 PHP
深入浅出讲解:php的socket通信原理
2016/12/03 PHP
PHP面向对象程序设计继承用法简单示例
2018/12/28 PHP
在html页面中包含共享页面的方法
2008/10/24 Javascript
JS图片浏览组件PhotoLook的公开属性方法介绍和进阶实例代码
2010/11/09 Javascript
jquery中的查找parents与closest方法之间的区别
2013/12/02 Javascript
jquery ajax传递中文参数乱码问题及解决方法说明
2014/02/07 Javascript
JS实现鼠标经过好友列表中的好友头像时显示资料卡的效果
2014/07/02 Javascript
让IE8浏览器支持function.bind()方法
2014/10/16 Javascript
JavaScript制作淘宝星级评分效果的思路
2020/06/23 Javascript
jQuery easyUI datagrid 增加求和统计行的实现代码
2016/06/01 Javascript
微信小程序入门教程
2016/11/18 Javascript
js实现显示手机号码效果
2017/03/09 Javascript
jQuery制作input提示内容(兼容IE8以上)
2017/07/05 jQuery
微信小程序实现图片上传功能实例(前端+PHP后端)
2018/01/10 Javascript
Python中的ConfigParser模块使用详解
2015/05/04 Python
python使用matplotlib模块绘制多条折线图、散点图
2020/04/26 Python
django之跨表查询及添加记录的示例代码
2018/10/16 Python
Python 常用模块 re 使用方法详解
2019/06/06 Python
Python发送邮件的实例代码讲解
2019/10/16 Python
Java提供了哪些企业应用编程接口
2015/02/13 面试题
物理教育专业毕业生推荐信
2013/11/03 职场文书
信访工作者先进事迹
2014/01/17 职场文书
公司司机岗位职责范本
2014/03/03 职场文书
寄语是什么意思
2014/04/10 职场文书
国庆节演讲稿范文2014
2014/09/19 职场文书
2015年档案管理员工作总结
2015/05/13 职场文书
2015年幼儿园中班开学寄语
2015/05/27 职场文书
隐形的翅膀观后感
2015/06/10 职场文书
合同补充协议书
2016/03/24 职场文书
springboot中一些比较常用的注解总结
2021/06/11 Java/Android
Nginx安装配置详解
2022/06/25 Servers