vue(18)路由懒加载「建议收藏」

vue(18)路由懒加载「建议收藏」什么是路由懒加载官方的解释:当打包构建应用时,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(18)路由懒加载「建议收藏」
我们看到这种方式打包出来的文件只有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(18)路由懒加载「建议收藏」
我们可以看到比原来的方式多出了3个js文件,这是因为我们上面代码3个组件使用了路由懒加载,这3个js文件只有路由被访问到了才会去加载,能省下不少的加载时间

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

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164839.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 有关于微信公众号网页开发的流程(自己的看法)

    有关于微信公众号网页开发的流程(自己的看法)微信官方文档(真的很详细)第一步:网页授权回调域名网页服务内容这个网页回调域名是非常关键的,后面会讲解这个回调的域名的使用,回调字面意思就是会跳转的。第二步:使用微信官方的api进行code获取这个就是获取code进行页面跳转,给跳转的页面传递code参数,你可以在自己的页面进行获取,将code传给后端参考链接(请在微信客户端中打开此链接体验):scope为sns…

    2022年6月6日
    435
  • 无刷直流电机控制技术(无刷直流电机)

    2020-09-14无刷直流电机无位置传感器控制策略传统无刷直流电机安装的霍尔传感器增加了电机的体积和成本、可靠性低、抗干扰能力弱。因此提出了无刷直流电机无位置传感器控制策略,解决了传递霍尔传感器的弊端。1.无刷直流电机2.控制策略控制策略主要包括:反电动势法、三次谐波法、反电势积分法、磁链估测法、续流二极管法、智能控制法等。…

    2022年4月11日
    102
  • java解析xml方法_详解Java解析XML的四种方法

    java解析xml方法_详解Java解析XML的四种方法XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便。对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(DocumentObjectModel),DTD(DocumentTypeDefinition),SAX(SimpleAPIforXML),XSD(XmlSchemaDefinit…

    2022年5月4日
    33
  • Java实现扫雷小游戏【优化版】

    Java实现扫雷小游戏【优化版】游戏的设计类似windows扫雷,用户在图形化用户界面内利用鼠标监听事件标记雷区,左上角表示剩余雷的数量,右上角动态显示使用的时间。用户可选择中间组件按钮重新游戏。在使用Java编写扫雷小游戏时遇到了很多问题,在解决问题时,确实对java的面向对象编程有了更加深入的理解。虽然GUI现在并没有很大的市场,甚至好多初学者已经放弃了学习GUI,但是利用GUI编程的过程对于培养编程兴趣,深入理解Java编程有很大的作用。

    2022年7月15日
    16
  • 用Pyinstaller打包时遇到No module named win32timezone问题

    用Pyinstaller打包时遇到No module named win32timezone问题用Pyinstaller打包时遇到Nomodulenamedwin32timezone问题Pyinstaller使用方法我遇到的问题解决办法利用tkinter+python+pyinstaller实现了小工具的项目,没有pyinstaller打包时程序没有问题,打包后运行.exe过程中会在控制台打印错误。Pyinstaller使用方法我们对Markdown编辑器进行了一些功能拓展与语法…

    2025年7月7日
    1
  • 贺州gdp排名末尾_xvesselgop

    贺州gdp排名末尾_xvesselgopGOP(GraphicOutputProtocol),是用来将图形驱动程序延伸至UEFI固件的接口,借以取代传统VBIOS(视讯BIOS)在开机资源要求等初始化行为。GOP与视讯BIOS

    2022年8月3日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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