vue组件懒加载(Load On Demand)

在Web应用程序中,系统的瓶颈常在于系统的响应速度。如果系统响应速度过慢,用户就会出现埋怨情绪,系统的价值也因此会大打折扣。因此,提高系统响应速度,是非常重要的。

懒加载(Load On Demand)是一种独特而又强大的数据获取方法,它能够在用户滚动页面的时候自动获取更多的数据,而新得到的数据不会影响原有数据的显示,同时最大程度上减少服务器端的资源耗用。

用vue.js写单页面应用时,会出现打包后的JavaScript包非常大,影响页面加载,我们可以利用路由的懒加载去优化这个问题,当我们用到某个路由后,才去加载对应的组件,这样就会更加高效,实现代码如下:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

import Vue from ‘vue‘

import Router from ‘vue-router‘

Vue.use(Router)

export default new Router({

 routes: [

  {

   path: ‘/‘,

   component: resolve => require([‘components/Hello.vue‘], resolve)

  },

  {

    path: ‘/about‘,

    component: resolve => require([‘components/About.vue‘], resolve)

  }

 ]

})

原文地址:https://www.cnblogs.com/gopark/p/8157310.html

时间: 2024-11-10 16:01:35

vue组件懒加载(Load On Demand)的相关文章

vue组件懒加载与路由懒加载的实现

在项目很大的时候,首页会一次导入所有页面与组件,可以使用懒加载实现项目的优化,但项目很小,不推荐使用,项目小,分开后的懒加载会发多次请求,带来更多的性能缺陷 路由写法 //假设components下有一个home.vue,需要在路由页面引入 new Router({ routes:[{ path:'/', name:"home", components:()=>import("./components/home") //将路由顶部的引入,放在这里就实现路由的懒

懒加载(Load on Demand)

懒加载,效果,最大程序减少服务器端的资源耗用. 懒加载是一种独特而又强大的数据获取方法,它能够在用户滚动页面的时候自动获取更多的数据,而新得到的数据不会影响原有数据的显示,同时最大程序上减少服务器端的资源耗用. 考虑这样一个例子:海尔电器是一个非常大的组织机构,它下有1万多个组织单元.由于组织单元的复杂性,组织单元间也存在在上下级关系.现在的问题是:用户想加入海尔电器的某个组织单元,他该怎么选择到这个组织单元呢? 很容易想到的一个解决方法是:查询数据库,把海尔电器的所有组织单元放到一个下拉列表中

vue路由懒加载及组件懒加载

vue路由懒加载及组件懒加载: https://www.cnblogs.com/-roc/p/9983177.html 一.为什么要使用路由懒加载 为给客户更好的客户体验,首屏组件加载速度更快一些,解决白屏问题. 二.定义 懒加载简单来说就是延迟加载或按需加载,即在需要的时候的时候进行加载. 三.使用 常用的懒加载方式有两种:即使用vue异步组件 和 ES中的import 1.未用懒加载,vue中路由代码如下 import Vue from 'vue' import Router from 'v

vue 路由懒加载

题外: 我司目前的后台管理网站依旧是 jq + xxUI 构成的 ,早就想把 丫儿 个换成 vue了, 苦于整个组几乎一致处于一个忙碌的状态,没有时间来重构. 然鹅,昨天今天组长找到我说要用 vue 搞起来,这个问题不大,毕竟之前用他完成了几个项目,颇有收获,教训满满. 看着 左侧 冗长菜单 item ,不禁陷入了沉思. 当打包构建应用时,Javascript 包会变得非常大,首次加载即便使用了 各种 LOADING ,各种 动画,肯定体验贼差, 如果我们能把不同路由对应的组件分割成不同的代码块

组件懒加载

在单页应用的世界,随着项目的复杂化,webpack打包后的文件越来越大,进入页面时,加载内容过多导致加载时间变长,不利于用户体验. 那什么是懒加载? 懒加载也叫延迟加载,即需要的时候进行加载. 1) 先来看看平时路由是如何配置 import Vue from 'vue' import Router from 'vue-router' import Home from '@/pages/home/homePage' import Detail from '@/pages/detail/detail

vue 图片懒加载

//Vue 图片懒加载export default (Vue , options = {})=>{ if(!Array.prototype.remove){ Array.prototype.remove = function(item){ if(!this.length) return var index = this.indexOf(item); if( index > -1){ this.splice(index,1); return this } } } var init = { laz

关于Element UI tree组件 懒加载的更新操作

近期根据需求,要做一个懒加载的组织树,并且可以编辑组织树.但是编辑了之后无法进行实时更新. 一开始想到了很多解决方案,也在网上参考了很多方案,但是都又种种不足. 所以我去看了elementUI的tree组件的懒加载方法的源代码 Node.prototype.loadData = function loadData(callback) { var _this5 = this; var defaultProps = arguments.length > 1 && arguments[1]

vue路由懒加载

当打包构建应用时,javascript包会变得非常大,影响页面加载.如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了. 结合Vue的异步组件和webpack的code splitting feature,轻松实现路由组件的懒加载. 我们要做的就是把路由对应的组件定义成异步组件: const Foo = resolve => { // require.ensure 是webpack的特殊语法,用来设置code-split point // 代

Vue图片懒加载

图片懒加载的原理 先将img标签中的src链接设为同一张图片(空白图片),将其真正的图片地址存储再img标签的自定义属性中(比如data-src).当js监听到该图片元素进入可视窗口时,即将自定义属性中的地址存储到src属性中,达到懒加载的效果.这样做能防止页面一次性向服务器响应大量请求导致服务器响应慢,页面卡顿或崩溃等问题. 实现步骤: 1.安装插件: npm install vue-lazyload --save-dev 2. main.js引入插件: import VueLazyLoad