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高级程序设计 阅读笔记(十二) js内置对象Math
Aug 14 Javascript
cocos2dx骨骼动画Armature源码剖析(三)
Sep 08 Javascript
jQuery实现多级联动下拉列表查询框
Jan 18 Javascript
浅谈Javascript中的Label语句
Dec 14 Javascript
微信小程序视图template模板引用的实例详解
Sep 20 Javascript
浅谈如何使用 webpack 优化资源
Oct 20 Javascript
基于vue-cli 打包时抽离项目相关配置文件详解
Mar 07 Javascript
node.js调用C++函数的方法示例
Sep 21 Javascript
vue头部导航动态点击处理方法
Nov 02 Javascript
JS执行控制之节流模式实例分析
Dec 21 Javascript
Vue基础配置讲解
Nov 29 Javascript
js操作两个json数组合并、去重,以及删除某一项元素
Sep 22 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快速url重写更新版[需php 5.30以上]
2010/04/25 PHP
php使用sql server验证连接数据库的方法
2014/12/25 PHP
PHP微信红包生成代码分享
2016/10/06 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
php使用QueryList轻松采集js动态渲染页面方法
2018/09/11 PHP
ExtJS 2.0 实用简明教程之布局概述
2009/04/29 Javascript
jquery ajax应用中iframe自适应高度问题解决方法
2014/04/12 Javascript
jQuery实现鼠标划过展示大图的方法
2015/03/09 Javascript
JavaScript实现的圆形浮动标签云效果实例
2015/08/06 Javascript
jQuery基于ajax实现带动画效果无刷新柱状图投票代码
2015/08/10 Javascript
angular-ui-sortable实现可拖拽排序列表
2016/12/28 Javascript
Angular.js实现获取验证码倒计时60秒按钮的简单方法
2017/10/18 Javascript
解决jquery的ajax调取后端数据成功却渲染失败的问题
2018/08/08 jQuery
JavaScript中concat复制数组方法浅析
2019/01/20 Javascript
Vue.js实现备忘录功能
2019/06/26 Javascript
JavaScript实现的3D旋转魔方动画效果实例代码
2019/07/31 Javascript
让python的Cookie.py模块支持冒号做key的方法
2010/12/28 Python
Python图算法实例分析
2016/08/13 Python
Ubuntu 下 vim 搭建python 环境 配置
2017/06/12 Python
Mac中Python 3环境下安装scrapy的方法教程
2017/10/26 Python
谈一谈数组拼接tf.concat()和np.concatenate()的区别
2020/02/07 Python
将labelme格式数据转化为标准的coco数据集格式方式
2020/02/17 Python
CSS中越界问题的经典解决方案【推荐】
2016/04/19 HTML / CSS
德国PC硬件网站:CASEKING
2016/10/20 全球购物
世界上最大的街头服饰网站:Karmaloop
2017/02/04 全球购物
Parfume Klik丹麦:香水网上商店
2018/07/10 全球购物
eBay奥地利站:eBay.at
2019/07/24 全球购物
研究生自我鉴定范文
2013/10/30 职场文书
公司新员工的演讲稿注意事项
2014/01/01 职场文书
总会计师岗位职责
2014/02/19 职场文书
幼儿园教师的自我评价范文
2014/09/17 职场文书
2014年干部培训工作总结
2014/12/17 职场文书
投资申请报告
2015/05/19 职场文书
唐山大地震观后感
2015/06/05 职场文书
老兵退伍感言
2015/08/03 职场文书
关于办理居住证的介绍信模板
2019/11/27 职场文书