我的编程空间,编程开发者的网络收藏夹
学习永远不晚

vue-router实现路由懒加载的方法有哪些

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

vue-router实现路由懒加载的方法有哪些

这篇文章给大家介绍vue-router实现路由懒加载的方法有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

什么是路由懒加载?

也叫延迟加载,即在需要的时候进行加载,随用随载。

官方解释:

 1:当打包构建应用时,JavaScript 包会变得非常大,影响页面加载。

 2:如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了。

官方在说什么呢?为什么需要懒加载?

 1:首先,我们知道路由中通常会定义很多不同的页面。

 2:这个页面这项目build打包后,一般情况下,会放在一个单独的js文件中

 3:但是,如果很多的页面都放在同一个js文件中,必然会造成这个页面非常大

 4:如果我们一次性的从服务器中请求下来这个页面,可能会花费一定时间,用户体验不好

 5:如何避免这种情况发生呢?使用路由懒加载就可以了

继续解释原由?

    1:像vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常的大。

    2:造成进入首页时,需要加载的内容过多,时间过长,会出啊先长时间的白屏,即使做了loading也是不利于用户体验。

    3:而运用懒加载则可以将页面进行划分,需要的时候加载页面,可以有效的分担首页所承担的加载压力,减少首页加载用时

也就是说:进入页面不用也不需要一次性加载过多资源造成加载时间过程!

路由懒加载做了什么事情?

 1:主要作用是将路由对应的组件打包成一个个的js代码块

 2:只有在这个路由被访问到的时候,才加载对应的组件,否则不加载!

即:只有在这个路由被访问到的时候,才加载对应的组件,否则不加载!

1:.如何实现路由懒加载??

 vue项目实现路由按需加载(路由懒加载)的三种方式:

  1:Vue异步组件

  2:ES6标准语法import()---------推荐使用!!!!!

  3:webpack的require,ensure()

2.Vue异步加载技术

  1:vue-router配置路由,使用vue的异步组件技术,可以实现懒加载,此时一个组件会生成一个js文件。

  2:component: resolve => require(['放入需要加载的路由地址'], resolve)

 { path: '/problem', name: 'problem', component: resolve => require(['../pages/home/problemList'], resolve) }

3.ES6推荐方式imprort ()----推荐使用

  1:直接将组件引入的方式,import是ES6的一个语法标准,如果需要浏览器兼容,需要转化成es5的语法。

  2:推荐使用这种方式,但是注意wepack的版本>2.4

  3:vue官方文档中使用的也是import实现路由懒加载

  4:上面声明导入,下面直接使用

import Vue from 'vue';import Router from 'vue-router';// 官网可知:下面没有指定webpackChunkName,每个组件打包成一个js文件。const Foo = () => import('../components/Foo')const Aoo = () => import('../components/Aoo')// 下面2行代码,指定了相同的webpackChunkName,会合并打包成一个js文件。// const Foo = () => import( '../components/Foo')// const Aoo = () => import( '../components/Aoo')export default new Router({ routes: [  {   path: '/Foo',   name: 'Foo',   component: Foo  },  {   path: '/Aoo',   name: 'Aoo',   component: Aoo  } ]})

4.webpack提供的require.ensure()实现懒加载:

  1:vue-router配置路由,使用webpack的require.ensure技术,也可以实现按需加载。

  2:这种情况下,多个路由指定相同的chunkName,会合并打包成一个js文件。

  3:require.ensure可实现按需加载资源,包括js,css等。他会给里面require的文件单独打包,不会和主文件打包在一起。

  4:第一个参数是数组,表明第二个参数里需要依赖的模块,这些会提前加载。

 5:第二个是回调函数,在这个回调函数里面require的文件会被单独打包成一个chunk,不会和主文件打包在一起,这样就生成了两个chunk,第一次加载时只加载主文件。

 6:第三个参数是错误回调。

 7:第四个参数是单独打包的chunk的文件名

此处代码参考原文链接:https://blog.csdn.net/qq_41998083/article/details/109726402

import Vue from 'vue';import Router from 'vue-router';const HelloWorld=resolve=>{require.ensure(['@/components/HelloWorld'],()=>{resolve(require('@/components/HelloWorld'))})}Vue.use('Router')export default new Router({routes:[{{path:'./',name:'HelloWorld',component:HelloWorld}}]})

4.import和require的比较(了解)

import 是解构过程并且是编译时执行

require 是赋值过程并且是运行时才执行,也就是异步加载

require的性能相对于import稍低,因为require是在运行时才引入模块并且还赋值给某个变量

关于vue-router实现路由懒加载的方法有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

vue-router实现路由懒加载的方法有哪些

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

vue-router实现路由懒加载的方法有哪些

这篇文章给大家介绍vue-router实现路由懒加载的方法有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。什么是路由懒加载?也叫延迟加载,即在需要的时候进行加载,随用随载。官方解释: 1:当打包构建应用时,Java
2023-06-06

vue-router实现懒加载的方法有哪些

本篇文章为大家展示了vue-router实现懒加载的方法有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。未使用懒加载import Vue from vue;import Router from
2023-06-06

vue-router路由懒加载及实现方式

这篇文章主要介绍了vue-router路由懒加载及实现方式,路由懒加载的主要作用是将路由对应的组件打包成一个个的js代码块,只有在这个路由被访问到的时候,才会加载对应组件的代码块,需要的朋友可以参考下
2022-12-15

vue-router实现路由懒加载的方法是什么

这篇文章主要讲解了“vue-router实现路由懒加载的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue-router实现路由懒加载的方法是什么”吧!在Web应用程序中,系统的
2023-07-04

vue-router如何实现路由懒加载和权限控制

本篇内容主要讲解“vue-router如何实现路由懒加载和权限控制”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue-router如何实现路由懒加载和权限控制”吧!1、为什么要使用路由懒加载呢
2023-07-04

Java 中实现懒加载的方法有哪些?(java懒加载实现的方法是什么)

在Java编程中,懒加载是一种优化技术,它允许在需要时才加载对象或资源,而不是在应用程序启动时立即加载。这种技术可以提高应用程序的性能和响应性,特别是在处理大型对象或资源时。以下是几种在Java中实现懒加载的方法:一、使用延迟初始化的Holder类(
Java 中实现懒加载的方法有哪些?(java懒加载实现的方法是什么)
Java2024-12-20

轻松实现渐进式加载:VUE路由懒加载的实战技巧

Vue路由懒加载是一种渐进式加载的技术,可以显著提升页面的性能。本文将介绍Vue路由懒加载的原理和使用方法,并提供一些实战技巧,帮助您轻松实现渐进式加载。
轻松实现渐进式加载:VUE路由懒加载的实战技巧
2024-02-14

vue动态路由的实现方法有哪些

本篇内容介绍了“vue动态路由的实现方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!vue动态路由的两种实现方法:1、简单的角色路由
2023-07-04

Vue组件的懒加载实现方法

Vue组件的懒加载可优化应用性能。可通过动态导入按需加载组件,使用SuspenseAPI或第三方库如VueLazyload实现。考虑网络延迟、代码拆分、用户体验和可维护性以提升懒加载效果。
Vue组件的懒加载实现方法
2024-04-02

JavaScript实用的图片懒加载优化方法有哪些

这篇文章主要介绍了JavaScript实用的图片懒加载优化方法有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、方法一重点:1.getBoundingClientRec
2023-06-29

vue动态路由有哪两种实现方法

vue动态路由的两种实现方法:1、简单的角色路由设置,比如只涉及到管理员和普通用户的权限;通常直接在前端进行简单的角色权限设置。2、复杂的路由权限设置,比如OA系统、多种角色的权限配置;通常需要后端返回路由列表,前端渲染使用。
2023-05-14

web前端图片懒加载的原理与实现方式有哪些

这篇文章主要讲解了“web前端图片懒加载的原理与实现方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“web前端图片懒加载的原理与实现方式有哪些”吧!一. 图片懒加载的目的大型网站如常
2023-07-05

php实现自动加载的方法有哪些

本篇内容主要讲解“php实现自动加载的方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php实现自动加载的方法有哪些”吧!1、__autoload()方法,一个项目只能有一个__auto
2023-06-20

vue-router传参的方式有哪些及怎么实现

这篇文章主要介绍“vue-router传参的方式有哪些及怎么实现”,在日常操作中,相信很多人在vue-router传参的方式有哪些及怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue-router传
2023-07-04

VUE 路由与懒加载结合,优化应用程序性能,实现更好的用户体验

本文将探讨 Vue 路由与懒加载相结合的应用方法,介绍如何通过懒加载优化应用程序性能,并提高用户体验。
VUE 路由与懒加载结合,优化应用程序性能,实现更好的用户体验
2024-02-05

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录