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 相关文章推荐
JavaScript 闭包深入理解(closure)
May 27 Javascript
jquery选择器之属性过滤选择器详解
Jan 27 Javascript
禁用Tab键JS代码兼容Firefox和IE
Apr 18 Javascript
extjs 如何给column 加上提示
Jul 29 Javascript
js实现双击图片放大单击缩小的方法
Feb 17 Javascript
JS绘制生成花瓣效果的方法
Aug 05 Javascript
jQuery实现网页顶部固定导航效果代码
Dec 24 Javascript
JavaScript编写Chrome扩展实现与浏览器的交互及时间通知
May 16 Javascript
又一款js时钟!transform实现时钟效果
Aug 15 Javascript
基于滚动条位置判断的简单实例
Dec 14 Javascript
Vue官方推荐AJAX组件axios.js使用方法详解与API
Oct 09 Javascript
vue基础之使用get、post、jsonp实现交互功能示例
Mar 12 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程序漏洞产生的原因分析与防范方法说明
2014/03/06 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
2017/01/12 PHP
javascript new fun的执行过程
2010/08/05 Javascript
javascript属性访问表达式用法分析
2015/04/25 Javascript
四种参数传递的形式——URL,超链接,js,form表单
2015/07/24 Javascript
使用HTML+CSS+JS制作简单的网页菜单界面
2015/07/27 Javascript
详解jQuery移动页面开发中的ui-grid网格布局使用
2015/12/03 Javascript
使用jquery.form.js实现图片上传的方法
2016/05/05 Javascript
JSON字符串和对象相互转换实例分析
2016/06/16 Javascript
浅谈JS之iframe中的窗口
2016/09/13 Javascript
Angular2 (RC5) 路由与导航详解
2016/09/21 Javascript
9个让JavaScript调试更简单的Console命令
2016/11/14 Javascript
Angular1.x复杂指令实例详解
2017/03/01 Javascript
javascript帧动画(实例讲解)
2017/09/02 Javascript
JavaScript常见鼠标事件与用法分析
2019/01/03 Javascript
JS中的算法与数据结构之字典(Dictionary)实例详解
2019/08/20 Javascript
Python合并多个装饰器小技巧
2015/04/28 Python
python使用xmlrpclib模块实现对百度google的ping功能
2015/06/02 Python
Django返回json数据用法示例
2016/09/18 Python
python爬虫的工作原理
2017/03/05 Python
浅谈python中的占位符
2017/11/09 Python
[原创]pip和pygal的安装实例教程
2017/12/07 Python
django drf框架中的user验证以及JWT拓展的介绍
2019/08/12 Python
python 两种方法删除空文件夹
2020/09/29 Python
Python实现钉钉/企业微信自动打卡的示例代码
2021/02/02 Python
Canvas制作的下雨动画的示例
2018/03/06 HTML / CSS
英国独特礼物想法和个性化礼物网站:notonthehighstreet.com
2018/04/16 全球购物
中学门卫岗位职责
2013/12/26 职场文书
优秀教师工作感言
2014/02/16 职场文书
2014年销售工作总结
2014/12/01 职场文书
小学元宵节活动总结
2015/02/06 职场文书
冲出亚马逊观后感
2015/06/03 职场文书
教师实习自我鉴定总结
2019/08/20 职场文书
Java面试题冲刺第十五天--设计模式
2021/08/07 面试题