Vue 路由的懒加载和组件的按需加载方法

// aview: function(resolve) {
       //     require(["./a.vue"], resolve);
       // },
       // bview: function(resolve) {
       //     require(["./b.vue"], resolve);
       // }
       aview:require("./a.vue"),
       bview:require("./b.vue"),

“懒加载也叫延迟加载,即在需要的时候进行加载,随用随载。在单页应用中,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,造成进入首页时,需要加载的内容过多,延时过长,不利于用户体验,而运用懒加载则可以将页面进行划分,需要的时候加载页面,可以有效的分担首页所承担的加载压力,减少首页加载用时。”

  • vue路由的懒加载方法

1 require(["src/xx/xxx/xx.vue"], resolve);
效果如图



按需加载会在页面第一次请求的时候,把相关路由组件块的js添加上;非按需加载则会把所有的路由组件块的js包打在一起。当业务包很大的时候建议用路由的按需加载(懒加载)。

  • vue组件的异步加载和同步加载

 组件的写法

 
// aview: function(resolve) {
       //     require(["./a.vue"], resolve);
       // },
       // bview: function(resolve) {
       //     require(["./b.vue"], resolve);
       // }
       aview:require("./a.vue"),
       bview:require("./b.vue"),

异步组件页面渲染的时候会跳动;但是同步书写不会

  • vue组件的按需加载(2种方式)

动态组件方式

组件里面:
 components: {
        aview: function(resolve) {
            require(["./a.vue"], resolve);
        },
        bview: function(resolve) {
            require(["./b.vue"], resolve);
        }
    },
 模板里面:
<component :is="current" :data="myData" ></component>
 data: function() {
        return {
            current: "",
            myData:"",
            show:false
        }
    },
    methods: {
        changeComponents:function(view)
        {
            if(view==‘aview‘)
            {
                this.myData=‘a1000‘;
            }
            else
            {
                this.myData=‘b1000‘;
            }
            this.current=view;
        }
    }

效果(会触发组件的生命周期)

v-if方式(强制创建和结束生命周期)

模板:
<aview v-if="show"></aview>
组件:
components: {
        aview:require("./a.vue")
},

效果

原文地址:https://www.cnblogs.com/Marinnn/p/9358383.html

时间: 2024-10-13 07:39:27

Vue 路由的懒加载和组件的按需加载方法的相关文章

组件库按需加载 借助babel-plugin-import实现

前段时间一直在基于webpack进行前端资源包的瘦身.在项目中基于路由进行代码分离,http://www.cnblogs.com/legu/p/7251562.html.对于公司内部的组件库,所有内容一次性加载源文件很大.比如登录主要就用了button和input,不需要打包table, tree这种复杂组件的. 在使用ant-design的时候,发现ant实现了按需加载,https://ant.design/docs/react/introduce-cn.所以想着自己的组件也支持相关的功能.

[转] 组件库按需加载 借助babel-plugin-import实现

前段时间一直在基于webpack进行前端资源包的瘦身.在项目中基于路由进行代码分离,http://www.cnblogs.com/legu/p/7251562.html.对于公司内部的组件库,所有内容一次性加载源文件很大.比如登录主要就用了button和input,不需要打包table, tree这种复杂组件的. 在使用ant-design的时候,发现ant实现了按需加载,https://ant.design/docs/react/introduce-cn.所以想着自己的组件也支持相关的功能.

jQuery封装的轮播图组件(按需加载)

效果图 slider.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>slider</title> <link rel="stylesheet" href="../css/base.css"> <link rel="styles

【vue】---猫眼项目中使用js组件的时候-------loading 加载 无法移除的原因---------

认识loading是一个函数 没次执行loading 都会返回一个新vm. 类似于闭包??????????????????????????????????? 所以根本原因是   插入元素和删除 不是同一个.所以无法删除.需要让他们变成共一个对象才行. 变成同一个对象的方法是:保留, loading() 执行之后会有一个返回值,这个返回值就是vm 把loading换成 vm .这样  添加和删除都在同一个vm 上执行. 总结: 绑定同一个作用对象, 原文地址:https://www.cnblogs

【凡尘】---vue路由懒加载---【vue】

一.懒加载 也叫延迟加载或者按需加载,即在需要的时候进行加载,   二.为什么要使用懒加载 像vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,造成进入首页时,需要加载的内容过多,时间过长,会出啊先长时间的白屏,即使做了loading也是不利于用户体验,而运用懒加载则可以将页面进行划分,需要的时候加载页面,可以有效的分担首页所承担的加载压力,减少首页加载用时 简单的说就是:进入首页不用一次加载过多资源造成用时过长 三.非懒加载的路由配置项 四.vue异步组件实

vue学习指南:第十二篇(详细) - Vue的 路由 第二篇 ( 路由按需加载(懒加载))

各位朋友 因 最近工作繁忙,小编停更了一段时间,快过年了,小编祝愿 大家 事业有成 学业有成 快乐健康 2020开心过好每一天.从今天开始 我会抽时间把 Vue 的知识点补充完整,以及后期会带给大家更完善的知识体系!!! 路由的按需加载(懒加载) 我们都知道 vue的路由是我们必学的,也是不可分离的一部分,我们传统引入路由的方式是这样的, import Home from '@/components/home/Home' 但是在真正项目的开发中,这种现象是杜绝的,是不建议使用这种传统方式引入的.

路由的懒加载

vue路由的懒加载: 1.什么是懒加载以及为什么要使用懒加载: 懒加载也就是延迟加载或者按需加载: 为什么要使用懒加载: 因为像vue这种单页面应用,如果不应用懒加载,运用webpack打包后的文件将会异常的大,当用户进入首页后,需要加载大量的组件,就会造成页面白屏的问题,不利于用户体验. 当运用懒加载,就可以将页面进行划分,,需要的时候加载页面,减少首页的加载压力:此时,进入首页就不用一次加载过多的资源造成用时过长,提高用户体验: 2.懒加载的两种方式: (1)vue异步组件实现路由懒加载:

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

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

vue路由懒加载

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