广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue-router路由懒加载及实现方式
  • 941
分享到

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

vue-router路由懒加载路由懒加载实现方式 2022-12-15 12:12:46 941人浏览 泡泡鱼
摘要

目录Vue-router路由懒加载及实现方式。前言一、路由懒加载二、实现路由懒加载1.Vue异步组件(异步加载)2.推荐方式-es6的import() 3.webpack提

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

前言

什么是路由懒加载?--延迟加载,在需要的时候才会进行加载。

一、路由懒加载

         我们在路由中通常会定义很多不同的页面。如果不应用懒加载的话,很多页面都会打包到同一个js文件中,文件将会异常的大。造成进入首页时,需要加载的内容过多,时间过长,在浏览器中可能会出现短暂的空白页,从而降低用户体验,而运用路由懒加载是将各个模块分开打包,用户查看的时候再加载对应的模块,减少加载用时。

也就是说:一开始进入页面时不需要一次性把资源都加载完,需要时在加载对应的资源。 

二、实现路由懒加载

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

//非路由懒加载
import Vue from 'vue'
import Router from 'vue-router'
import Home from '@/components/Home'
import Login from '@/components/Login'
import New from '@/components/New'
import List from '@/components/List'
 
......
 
routes:[
    {path:'/Login',name:'Login',component:Login},
    {path:'/',name:'Home',component:Home},
    ...
]

vue实现路由懒加载的三种方式: 

  • Vue异步组件
  • ES6的import()
  • WEBpack的require.ensure() 

1.Vue异步组件(异步加载)

vue-router 配置路由,使用vue的异步组件技术,可以实现懒加载,但是这种情况是一个组件会生成一个js文件。

component:resolve => require(['需要加载的组件地址'],resolve) 

{path:'/login',name:'Login',
    component:resolve => require(['@/components/Login'],resolve)},
{path:'/home',name:'Home',
    component:resolve => require(['@/components/Home'],resolve),
    children:[
        {path:'/new',name:'New',
            component:resolve =>require(['@/components/New'],resolve)},
        {path:'/list',name:'List',
            component:resolve => require(['@/components/List'],resolve)}
    ]
 }

2.推荐方式-ES6的import()

const 组件名 = () => import('组件路径')

//下面没有指定webpackChunkName,每个组件打包成一个js文件
const Foo = () => import('../components/Foo')
const Aoo = () => import('../components/Aoo')

 指定相同的webpackChunkName,会合并打包成一个js文件

const Foo = () => import(,'../components/Foo');
const Aoo - () => import(,'../components/Aoo')
...
{path:'/Foo',name:'Foo',component:Foo},
{path:'/Aoo',name:'Aoo',component:Aoo},
{path:'/Login',name:'Login',
    component: ()=>import(,'../compontents/Login')}

 上面代码中,webpackChunkName值相同的会打包成一个js文件

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

vue-router 配置路由,使用webpack的require.ensure技术,可以实现懒加载,这种情况下,多个路由指定相同的chunkName,会合并打包成一个js文件。

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

{path:'/home',name:'home',component:r=>
    require.ensure([],()=>r(require('@/components/home')),'funcDemo')},
{path:'/new',name:'new',component:r=>
    require.ensure([],()=>r(require('@/components/new')),'funcDemo')},
{path:'/list',name:'list',component:r=>
    require.ensure([],()=>r(require('@/components/list')),'listDemo')},

注:r就是resolve 

const list = r => require.ensure([],()=>r(require('组件地址')),'list') 

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

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

第三个参数是错误回调。 

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

const  Coo = resolve=>{
 require.ensure([],()=>{resolve(require('@/components/List'))})
}
 
...
{path:'/list',name:'List',component:Coo}

到此这篇关于vue-router路由懒加载及实现方式的文章就介绍到这了,更多相关vue-router路由懒加载内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: vue-router路由懒加载及实现方式

本文链接: https://www.lsjlt.com/news/174902.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • vue-router路由懒加载及实现方式
    目录vue-router路由懒加载及实现方式。前言一、路由懒加载二、实现路由懒加载1.Vue异步组件(异步加载)2.推荐方式-ES6的import() 3.webpack提...
    99+
    2022-12-15
    vue-router路由懒加载 路由懒加载实现方式
  • vue-router如何实现路由懒加载
    这篇文章主要为大家展示了“vue-router如何实现路由懒加载”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue-router如何实现路由懒加载”这篇文章吧...
    99+
    2022-10-19
  • vue-router实现路由懒加载的方法是什么
    这篇文章主要讲解了“vue-router实现路由懒加载的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue-router实现路由懒加载的方法是什么”吧!在Web应用程序中,系统的...
    99+
    2023-07-04
  • vue-router实现路由懒加载的方法有哪些
    这篇文章给大家介绍vue-router实现路由懒加载的方法有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。什么是路由懒加载?也叫延迟加载,即在需要的时候进行加载,随用随载。官方解释: 1:当打包构建应用时...
    99+
    2023-06-06
  • vue-router如何实现路由懒加载和权限控制
    本篇内容主要讲解“vue-router如何实现路由懒加载和权限控制”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue-router如何实现路由懒加载和权限控制”吧!1、为什么要使用路由懒加载呢...
    99+
    2023-07-04
  • vue怎么实现路由懒加载
    这篇文章主要介绍了vue怎么实现路由懒加载,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。路由懒加载写法: // 我所采用...
    99+
    2022-10-19
  • vue如何实现路由懒加载
    在vue中实现路由懒加载的方法有:1.使用import方法实现;2.使用require.ensure()方法实现;3.使用vue异步组件实现;具体方法如下:使用import方法实现路由懒加载const Home = () => import...
    99+
    2022-10-20
  • vue-router中怎么实现路由懒加载和权限控制
    今天就跟大家聊聊有关vue-router中怎么实现路由懒加载和权限控制,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、为什么要使用路由懒加载呢用v...
    99+
    2022-10-19
  • vue中路由有哪些懒加载方式
    在vue中实现路由懒加载的方法有:1.通过异步组件懒加载;2.使用import方法懒加载;3.使用require.ensure()函数懒加载;在vue中实现路由懒加载的方法有以下几种通过异步组件实现实现路由懒加载{  p...
    99+
    2022-10-07
  • vue-router子路由的实现方式
    目录实验目的创建Admin页面创建子页面修改router/index.js代码总结在应用界面开发中通常由多层嵌套的组件组合而成。 但随着页面的增多,如果把所有的页面都塞到一个 rou...
    99+
    2023-02-06
    vue-router子路由 vue-router路由 vue-router实现子路由
  • vue-router实现懒加载的方法有哪些
    本篇文章为大家展示了vue-router实现懒加载的方法有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。未使用懒加载import Vue from 'vue...
    99+
    2023-06-06
  • react-router-dom之异步加载路由方式
    目录react-router-dom异步加载路由安装依赖react-loadablereact路由组件异步加载,优化白屏总结react-router-dom异步加载路由 这篇文章跟h...
    99+
    2023-03-24
    react-router-dom 异步加载路由 路由react-router-dom
  • vue如何实现路由根据开发状态懒加载
    小编给大家分享一下vue如何实现路由根据开发状态懒加载,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!路由根据开发状态懒加载1 一...
    99+
    2022-10-19
  • vue3使用vue-router及路由权限拦截方式
    目录使用vue-router及路由权限拦截vue3使用vue-router讲解使用vue-router及路由权限拦截 vue3 使用 vue-router 的方式和 vue2 基本一...
    99+
    2022-11-13
  • react-router-dom异步加载路由的方式是什么
    今天小编给大家分享一下react-router-dom异步加载路由的方式是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。...
    99+
    2023-07-05
  • vue3 vite异步组件及路由懒加载实战示例
    目录引言一、前言1-1.三点变化:1-2.引入辅助函数defineAsyncComponent的原因:二、Vue 2.x与Vue 3.x定义比较2-1.异步组件/路由定义比较2-2....
    99+
    2022-11-13
  • vue前端路由以及vue-router两种模式实例详解
    目录前言1、什么是前端路由(1)后端路由阶段(2)前后端分离路由阶段(3)单页面应用阶段2、vue-router 提供了 hash 和 history 两种路由模式(1)hash模式...
    99+
    2022-11-13
  • VUE路由动态加载如何实现
    这篇文章主要讲解了“VUE路由动态加载如何实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“VUE路由动态加载如何实现”吧!首先新建vue工程,一般我们不会特殊处理路由,但当项目页面越来越多...
    99+
    2023-07-04
  • VUE中怎么实现路由动态加载
    VUE中怎么实现路由动态加载,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。首先新建vue工程,一般我们不会特殊处理路由,但当项目页面越来越多,...
    99+
    2022-10-19
  • el-tree懒加载的实现以及局部刷新方式
    目录el-tree懒加载的实现及局部刷新整个树结构如下新增第一级节点的弹窗右侧悬浮显示操作按钮在第一级右侧点击按钮新增第二级节点的弹窗树节点新增编辑操作弹窗总结el-tree懒加载的...
    99+
    2023-05-17
    el-tree懒加载 局部刷新 el-tree局部刷新
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作