位置: IT常识 - 正文

路由懒加载及实现方式(vue-router)(路由加载的几种方式)

编辑:rootadmin
路由懒加载及实现方式(vue-router)

推荐整理分享路由懒加载及实现方式(vue-router)(路由加载的几种方式),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:路由懒加载实现的原理,路由懒加载有三种方式的区别,路由懒加载实现,路由懒加载有三种方式的区别,路由懒加载实现的原理,路由懒加载实现方法,路由懒加载实现的原理,路由懒加载及实现方式,内容如对您有帮助,希望把文章链接给更多的朋友!

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

文章目录

前言

一、路由懒加载

二、实现路由懒加载

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

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

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

前言

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

一、路由懒加载

         我们在路由中通常会定义很多不同的页面。如果不应用懒加载的话,很多页面都会打包到同一个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文件。

路由懒加载及实现方式(vue-router)(路由加载的几种方式)

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(/*webpackChunkName:'ImportFuncDemo'*/,'../components/Foo');const Aoo - () => import(/*webpackChunkName:'ImportFuncDemo'*/,'../components/Aoo')...{path:'/Foo',name:'Foo',component:Foo},{path:'/Aoo',name:'Aoo',component:Aoo},{path:'/Login',name:'Login', component: ()=>import(/*webpackChunkName:"ImportFuncDemo"*/,'../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}
本文链接地址:https://www.jiuchutong.com/zhishi/298718.html 转载请保留说明!

上一篇:遥感图像超分辨重建综述(遥感图像超分辨率 坑)

下一篇:训练自己的GPT2-Chinese模型(训练自己的GPT)

  • 微信如何解除青少年模式监护人(微信如何解除青少年模式设置)

    微信如何解除青少年模式监护人(微信如何解除青少年模式设置)

  • 网易云随心听会员合约包怎么取消(网易云随心听会员没有会员)

    网易云随心听会员合约包怎么取消(网易云随心听会员没有会员)

  • 微信朋友圈怎么删除评论(微信朋友圈怎么发长视频教程)

    微信朋友圈怎么删除评论(微信朋友圈怎么发长视频教程)

  • 限制下单永久怎么办(限制下单永久怎么取消)

    限制下单永久怎么办(限制下单永久怎么取消)

  • 微信的黑暗模式怎么开启(微信的黑暗模式怎么设置)

    微信的黑暗模式怎么开启(微信的黑暗模式怎么设置)

  • 抖音看不到自己动态(抖音看不到自己的评论怎么回事?)

    抖音看不到自己动态(抖音看不到自己的评论怎么回事?)

  • Excel怎么在表格左侧添加一列(excel怎么在表格中间加一行)

    Excel怎么在表格左侧添加一列(excel怎么在表格中间加一行)

  • 华为nova7耳机怎么用(华为nova7耳机怎么插)

    华为nova7耳机怎么用(华为nova7耳机怎么插)

  • nova7耳机怎么用(nove7耳机怎么使用)

    nova7耳机怎么用(nove7耳机怎么使用)

  • 手机几张图片怎么拼成一张(手机几张图片怎么弄成一个文件夹)

    手机几张图片怎么拼成一张(手机几张图片怎么弄成一个文件夹)

  • 腾讯视频为什么搜不出来东西(腾讯视频为什么不能用手机号登录)

    腾讯视频为什么搜不出来东西(腾讯视频为什么不能用手机号登录)

  • 润工作闪退怎么回事(闪退解决工具)

    润工作闪退怎么回事(闪退解决工具)

  • 手机充电的地方坏了怎么办(手机充电的地方叫什么)

    手机充电的地方坏了怎么办(手机充电的地方叫什么)

  • 微信对方正在输入怎么关闭(微信对方正在输入中什么时候会显示)

    微信对方正在输入怎么关闭(微信对方正在输入中什么时候会显示)

  • 滴滴紧急联系人退订会知道吗(滴滴紧急联系人能看到行程吗)

    滴滴紧急联系人退订会知道吗(滴滴紧急联系人能看到行程吗)

  • 微信根据什么推送广告(微信根据什么推送视频)

    微信根据什么推送广告(微信根据什么推送视频)

  • 微信解封一年是怎么算的(微信号解封一年只能三次吗)

    微信解封一年是怎么算的(微信号解封一年只能三次吗)

  • arserver干什么用的(arsercer)

    arserver干什么用的(arsercer)

  • 趣键盘怎么没有表情了(趣键盘怎么没有了)

    趣键盘怎么没有表情了(趣键盘怎么没有了)

  • 怎样清除快手相机胶卷(怎样清除快手相册里的照片)

    怎样清除快手相机胶卷(怎样清除快手相册里的照片)

  • 黑鲨可以换主题吗(黑鲨可以换主题吗怎么换)

    黑鲨可以换主题吗(黑鲨可以换主题吗怎么换)

  • word怎么删除锚点(word文档里的锚)

    word怎么删除锚点(word文档里的锚)

  • 魅族搜索通知怎么关闭(魅族搜索设置)

    魅族搜索通知怎么关闭(魅族搜索设置)

  • 华为mate20保时捷和普通版区别

    华为mate20保时捷和普通版区别

  • 20000毫安能充几次(20000毫安能充几次手机)

    20000毫安能充几次(20000毫安能充几次手机)

  • 刷宝里的元宝怎么提现(刷宝的元宝怎么兑换比例多少)

    刷宝里的元宝怎么提现(刷宝的元宝怎么兑换比例多少)

  • vscode里面使用vue的一些插件,方便开发(vue vscode snippets)

    vscode里面使用vue的一些插件,方便开发(vue vscode snippets)

  • Python元类的使用(python元数据)

    Python元类的使用(python元数据)

  • 个人转让著作权免税吗
  • 小微企业零申报多久报一次税
  • 利息收入属于主体收入吗
  • 2020年国税申报截止到什么时候
  • 以前年度损益缴纳的税款在企业所得税中怎么表示
  • 餐饮发票个人抬头怎么写
  • 买什么样的房子可以贷款
  • 控股股权转让
  • 本季度盈利可以当季弥补以前亏损吗
  • 转让财产收入计入哪个科目
  • 个人出租房屋应该注意什么
  • 销项负数发票怎么填报增值税报表
  • 职工教育法
  • 开个人发票需要身份证号码吗
  • 购买方已抵扣开具红字信息表销售方怎么处理
  • 未取得发票怎么做纳税调增操作
  • 车船税征税范围包括火车吗
  • 企业里工会
  • 公司注销清算企业所得税申报表怎么填
  • 设备采购计入什么科目
  • 收到代收款怎么做分录
  • 履约保证金计入什么会计科目
  • 合伙企业收到分红需要交所得税吗
  • php数字转换大写
  • yii框架教程
  • web课程设计网页
  • 笔记本电池的正负极区分
  • 系统托盘开不开
  • PHP:Memcached::setSaslAuthData()的用法_Memcached类
  • Kamikōchi, Nagano Prefecture, Japan (© sadao/Shutterstock)
  • 偿还债券本金和利息
  • php常用的魔术方法有哪些
  • 增值税发票申报单怎么填
  • vue清空input file的值
  • java开发从入门到精通
  • 补提企业所得税财务报表应该如何调整
  • 零申报有哪些
  • 农业种植公司有补贴吗
  • 织梦怎么新建页面
  • 免费学电脑的网站
  • 一般纳税企业增值税的核算应当使用
  • 财产清查两种制度
  • 信息技术服务可以开13%的发票吗
  • 其他综合收益转入盈余公积和未分配利润
  • 帐务处理是指什么工作
  • 计提福利费是什么意思
  • 经营杠杆系数的经济含义
  • 财政补贴的政策
  • 费用科目可以在借方吗
  • 购买库存商品的运输费
  • 百旺购货方红字信息表怎么开具
  • 预期信用损失率变更属于会计估计变更吗
  • 营业收入和主营业务收入分别在哪看
  • 商业企业购入商品
  • 在sql server中触发器不具有什么类型
  • 安装windows server 2008 r2
  • freebsd怎么安装软件
  • wcu.exe是什么
  • win7系统IE浏览器版本
  • win8.1设备管理器设置步骤
  • linux which ls
  • xp系统如何安装软件
  • vm15虚拟机安装
  • imapi.exe
  • win7音量图标不能启用
  • win8开始菜单在右边
  • win10系统如何创建新用户
  • linux的安装方法
  • Unity3D游戏开发(第2版)pdf
  • .android
  • jQuery ajax的功能实现方法详解
  • vue js组件
  • js 模态对话框和对话框
  • python 中
  • 如何使用wordpress
  • 深入JavaScript高级语法
  • 发票与报销内容不一样
  • 深圳市的各区域排名
  • 一般纳税人沙石税率是多少
  • 成本费用总额在报表哪里看
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设