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 相关文章推荐
让焦点自动跳转
Jul 01 Javascript
jquery 弹出层注册页面等(asp.net后台)
Jun 17 Javascript
基于jQuery的仿flash的广告轮播
Nov 05 Javascript
jQuery之end()和pushStack()使用介绍
Feb 07 Javascript
jquery得到font-size属性值实现代码
Sep 30 Javascript
使用AngularJS来实现HTML页面嵌套的方法
Jun 17 Javascript
老生常谈 js中this的指向
Jun 30 Javascript
关于node-bindings无法在Electron中使用的解决办法
Dec 18 Javascript
JavaScript实现星级评价效果
May 17 Javascript
CountUp.js实现数字滚动增值效果
Oct 17 Javascript
JS+CSS实现过渡特效
Jan 02 Javascript
详解TS数字分隔符和更严格的类属性检查
May 06 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
使用Apache的htaccess防止图片被盗链的解决方法
2013/04/27 PHP
PHP生成器简单实例
2015/05/13 PHP
php生成数字字母的验证码图片
2015/07/14 PHP
js检测客户端不是firefox则提示下载
2007/04/07 Javascript
浅谈Javascript鼠标和滚轮事件
2012/06/27 Javascript
一些常用弹出窗口/拖放/异步文件上传等实用代码
2013/01/06 Javascript
js动态切换图片的方法
2015/01/20 Javascript
JavaScript基于setTimeout实现计数的方法
2015/05/08 Javascript
浅析$(function) ready和onload 的区别
2016/09/03 Javascript
详解ECharts使用心得总结
2016/12/06 Javascript
Node接收电子邮件的实例代码
2017/07/21 Javascript
JS实现div模块的截图并下载功能
2017/10/17 Javascript
Vue引用第三方datepicker插件无法监听datepicker输入框的值的解决
2018/01/27 Javascript
原生JS实现动态加载js文件并在加载成功后执行回调函数的方法
2020/12/30 Javascript
React父子组件间的传值的方法
2018/11/13 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
2019/06/19 jQuery
python中对list去重的多种方法
2014/09/18 Python
在Python的Django框架的视图中使用Session的方法
2015/07/23 Python
Python实现TCP/IP协议下的端口转发及重定向示例
2016/06/14 Python
Python+django实现简单的文件上传
2016/08/17 Python
Python selenium 三种等待方式解读
2016/09/15 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
2019/08/27 Python
使用Python paramiko模块利用多线程实现ssh并发执行操作
2019/12/05 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
python统计文章中单词出现次数实例
2020/02/27 Python
python实现最速下降法
2020/03/24 Python
CSS3 重置iphone浏览器按钮input,select等表单元素的默认样式
2014/10/11 HTML / CSS
萌新的HTML5 入门指南
2020/11/06 HTML / CSS
The North Face北面英国官网:美国著名户外品牌
2017/12/13 全球购物
全球知名的珠宝首饰品牌:Kay Jewelers
2018/02/11 全球购物
 Alo Yoga官网:购买瑜伽服装
2018/06/17 全球购物
2014基建处领导班子“四风”对照检查材料思想汇报
2014/10/04 职场文书
标准离婚协议书(2014版)
2014/10/05 职场文书
政工师工作总结2015
2015/05/26 职场文书
医院见习总结
2015/06/24 职场文书
村官2015年度工作总结
2015/10/14 职场文书