vue-router路由懒加载_vue图片懒加载

vue-router路由懒加载_vue图片懒加载什么是路由懒加载官方的解释:当打包构建应用时,JavaScript包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

什么是路由懒加载

官方的解释:

  • 当打包构建应用时,JavaScript 包会变得非常大,影响页面加载。
  • 如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了。

官方想表达的意思

  • 首先,我们知道路由中通常会定义很多不同的页面
  • 这个页面最后会被打包到哪里呢?一般情况下是会放在一个js文件中
  • 但是页面这么多,所有文件都放到一个js文件中,必然会造成这个页面会非常的大
  • 如果我们一次性从服务器中请求下来这个页面,可能需要花费一定的时间,甚至用户的电脑上会出现短暂空白的情况
  • 如何避免这种情况?使用路由懒加载即可

路由懒加载做了什么

  • 路由懒加载的主要作用是将路由对应的组件打包成一个个js代码块
  • 只要在这个路由被访问到的时候,才加载对应的组件
     

路由懒加载的使用

在使用之前,我们先来看看原先代码是如何加载路由的

import Vue from "vue";
import VueRouter from "vue-router";
import Home from "@/views/Home";
import About from "@/views/About";
import User from "@/views/User";

Vue.use(VueRouter);

const routes = [
  {
    path: "/",
    name: "Home",
    component: Home,
  },
  {
    path: "/about",
    name: "About",
    component: About
  },
  {
    path: "/user/:userId",
    name: "User",
    component: User
  }
];

我们看到从一开始我们就导入了路由对应的组件,如果需要的导入的组件非常多,那么加载页面就会相对较慢,我们来看下这种方式打包出来的文件
vue-router路由懒加载_vue图片懒加载
我们看到这种方式打包出来的文件只有2个js文件,之后我们加载页面的时候,需要把这2个文件全部加载完,页面才会展示,如果代码量过多,那么页面响应就比较慢,给用户体验非常不好

接下来我们使用路由懒加载

import Vue from "vue";
import VueRouter from "vue-router";

Vue.use(VueRouter);

// 新增路由懒加载代码
const Home = () => import('../views/Home')
const About = () => import('../views/About')
const User = () => import('../views/User')

const routes = [
  {
    path: "/",
    name: "Home",
    component: Home,
  },
  {
    path: "/about",
    name: "About",
    component: About
  },
  {
    path: "/user/:userId",
    name: "User",
    component: User
  }
];

我们看到,在路由配置中什么都不需要改变,只需要像往常一样使即可,只是在这之前声明了一个变量,变量中使用箭头函数来导入对应的组件,使用起来非常简单。

使用路由懒加载的方式打包出来的文件结构如下:
vue-router路由懒加载_vue图片懒加载
我们可以看到比原来的方式多出了3个js文件,这是因为我们上面代码3个组件使用了路由懒加载,这3个js文件只有路由被访问到了才会去加载,能省下不少的加载时间

所以我们更推荐使用路由懒加载的方式去加载路由

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/165376.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Pycharm安装Pytorch过程

    Pycharm安装Pytorch过程关键字:torch1.8.1+cu111,torchvision0.9.1+cu111,torchaudio===0.8.1之前一个项目用到了pytorch,当时试了好多方案安装pytorch终于后终于成功把它装上了。很久没用后把anaconda卸载了…重新打开这个项目emmmm…心情有点复杂。写个文档记录下我怎么重装的(留给下一次重装看bushi)。直接上pytorch官网(https://pytorch.org/get-started/locally/)选好对应版本号,复制然后试图直接安装时报

  • hi3531dv200开发板_hi3516dv300参数

    hi3531dv200开发板_hi3516dv300参数前言安装环境,默认你是有Linux系统的,不管是VM虚拟机还是docker还是WSL,也不对系统进行要求。此教程默认环境如下:Ubuntu18.04、Anaconda(Python3.8.5)、Anaconda安装不同版本Python

  • 【Linux学习】Linux命令卸载软件

    【Linux学习】Linux命令卸载软件1、打开一个终端,输入dpkg–list,按下Enter键,终端输出以下内容,显示的是你电脑上安装的所有软件。2、在终端中找到你需要卸载的软件的名称,列表是按照首字母排序的。3、在终端上输入命令sudoapt-get–purgeremove包名(–purge是可选项,写上这个属性是将软件及其配置文件一并删除,如不需要删除配置文件,可执行sudoapt-getremove包名),此处我要删除的是polipo,那么在终端输入sudoapt-get–purgeremovep

  • ov7670图像传感器_cmos图像传感器封装

    ov7670图像传感器_cmos图像传感器封装注释:配置方法由其他博文复制整理而来,不是个人原创,感恩原作者 图像传感器(sensor)概述: 现在用的传感器主要有两种:一种是CCD,另一种是CMOS,现在主流的是CMOS对于CCD传感器,其输出的是带制式的模拟信号,需要经过视频解码后得到数字信号对于CMOS传感器,其直接输出数字信号,可以直接与控制器连接 像素部分 那么对于像素部分,我们常常听到30万像素,…

  • 基于Eclipse的Android开发环境搭建「建议收藏」

    基于Eclipse的Android开发环境搭建「建议收藏」对于才接触Android开发的人员来说,复杂的开发环境搭建,各种新知识,新内容要接触总是让人无从下手。通过这篇文章,让零基础开发人员成功搭建基于Eclipse的android开发环境。Android使用Java语言进行开发,首先我们需要搭建Java开发环境,在此基础上搭建Android开发环境。如果开发者有Java开发经验,并有基于Eclipse的Java开发环境,可以跳过Java开发环境搭建。

  • Js二代身份证号码正则验证

    Js二代身份证号码正则验证一代身份证号码是十五位,2013年1月1日开始,咱们中国全面停止使用一代身份证了。二代身份证号码:1-6位:表示行政区划的代码。1、2位,所在省(直辖市,自治区)代码;3、4位,所在地级市(自治州)代码;5、6位,所在区(县,自治县,县级市)的代码;7-14位:表示出生年、月、日15-16位:所在地派出所代码17位:性别。奇数(1、3、5、7、9)男性,偶数(2、4、…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号