位置: 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)

  • 闪照打不开什么情况(闪照文件找到但是打不开2021)

    闪照打不开什么情况(闪照文件找到但是打不开2021)

  • 双十一延迟发货赔付多少(双十一延迟发货短信)

    双十一延迟发货赔付多少(双十一延迟发货短信)

  • 耳机寿命一般使用多久(耳机一般用几年)

    耳机寿命一般使用多久(耳机一般用几年)

  • 联想笔记本手动启动风扇(联想笔记本手动连接无线网络)

    联想笔记本手动启动风扇(联想笔记本手动连接无线网络)

  • 为什么情侣空间邀请不了情侣(为什么情侣空间天数会多一天)

    为什么情侣空间邀请不了情侣(为什么情侣空间天数会多一天)

  • qq接触关系是什么意思(qq关系是什么)

    qq接触关系是什么意思(qq关系是什么)

  • windows更新清理删不掉(windows更新清理删除时间好长)

    windows更新清理删不掉(windows更新清理删除时间好长)

  • 晶闸管属于什么型器件(晶闸管属于什么驱动)

    晶闸管属于什么型器件(晶闸管属于什么驱动)

  • 飞猪出票需要多长时间(飞猪出票要多久才能确定)

    飞猪出票需要多长时间(飞猪出票要多久才能确定)

  • mate30掉水里了还能用吗(华为mate30手机掉水里了)

    mate30掉水里了还能用吗(华为mate30手机掉水里了)

  • qq群举报成功封号几天(举报qq群显示账号已封停)

    qq群举报成功封号几天(举报qq群显示账号已封停)

  • 微信冻结是什么意思(微信冻结是什么样的界面)

    微信冻结是什么意思(微信冻结是什么样的界面)

  • cad空格键的作用(cad空格键没反应)

    cad空格键的作用(cad空格键没反应)

  • c程序的基本组成部分(c程序的基本组成元素)

    c程序的基本组成部分(c程序的基本组成元素)

  • 手机玻璃划痕怎么修复(手机玻璃划痕怎么去掉)

    手机玻璃划痕怎么修复(手机玻璃划痕怎么去掉)

  • 互联网sp和ssp什么意思(互联网 sp ssp)

    互联网sp和ssp什么意思(互联网 sp ssp)

  • 华为开屏新闻怎么关掉(华为手机怎么去掉开屏的新闻)

    华为开屏新闻怎么关掉(华为手机怎么去掉开屏的新闻)

  • 网络ssid是什么(网络ssid是什么在哪)

    网络ssid是什么(网络ssid是什么在哪)

  • 迅雷影音如何下载电影(迅雷影音如何下载网页视频)

    迅雷影音如何下载电影(迅雷影音如何下载网页视频)

  • 苹果手机刷机怎么操作流程(苹果手机刷机怎么恢复原来的东西)

    苹果手机刷机怎么操作流程(苹果手机刷机怎么恢复原来的东西)

  • MAC如何在Numbers单元格里面显示公式而不是最终答案(mac如何在桌面显示我的电脑)

    MAC如何在Numbers单元格里面显示公式而不是最终答案(mac如何在桌面显示我的电脑)

  • dvremind.exe是什么进程 dvremind进程查询(wrme.exe是什么)

    dvremind.exe是什么进程 dvremind进程查询(wrme.exe是什么)

  • Node.js安装及npm国内镜像配置(node.js如何安装)

    Node.js安装及npm国内镜像配置(node.js如何安装)

  • 量子退火算法入门(4):旅行商问题的QUBO建模「上篇」(量子退火算法入门6)

    量子退火算法入门(4):旅行商问题的QUBO建模「上篇」(量子退火算法入门6)

  • 个人开票的抬头怎么写
  • 政府补助确认递延所得税
  • 分公司是否需要刻章
  • 软件公司主营业务是什么
  • 不是小微企业的小规模纳税人的税收优惠
  • 小规模纳税人变成一般纳税人之前的发票变更
  • 企业购买电话充值卡的分录
  • 银行付款回单怎么看
  • 电子产品委外加工
  • 行政单位拨给下属单位经费会计分录
  • 税务评估补税如何入账处理合适?
  • 减免的残保金怎么计算
  • 房地产企业销售现房是否预缴增值税
  • 税前扣除的职工教育经费
  • 因质量问题怎么赔偿
  • 挂靠工程的所得税账务处理怎么做?
  • 发票缴税怎么交的
  • 给职工发放的福利费,要从应付职工薪酬科目吗
  • 个体经营户如何开电子发票
  • 预交增值税后如何处理
  • 钢结构施工速度快吗
  • 取得海运费发票怎么入账
  • 现金流量具体内容
  • 餐饮企业原材料的核算,新城饭店为增值税一般纳税人
  • 持有至到期投资和债权投资的区别
  • 差旅费的会计处理
  • php常用的优化方式
  • lsass.exe是什么进程
  • 每季度预缴所得税怎么算
  • 销售农产品的进项税
  • 非货币性资产投资特殊性税务处理
  • 最好卖的游戏机排行榜
  • 房地产土地使用税核减条件
  • php抽象函数
  • 搭建小技巧
  • thinkphp怎么运行
  • Yii2超好用的日期和时间组件(值得收藏)
  • php功能模块
  • webgl1.0
  • 功能强大的词语
  • js框架jquery
  • 外经证过期没核销罚多少钱
  • 完善固定资产管理的方案
  • 海外佣金需要交税吗
  • 一般纳税人销售自行开发的软件产品
  • 民非企业税金及附加是什么科目
  • 保险费的增值税税率
  • 分公司需要做纳税申报吗
  • powerdesigner12.5使用教程
  • mysql 5.7特性
  • 水利建设基金申报
  • 向境外支付赔偿款是否需要税务备案
  • 陈列费怎么开票
  • 个人收到承兑汇票
  • 工程安装人工费怎么开票
  • 事业单位外出参观培训心得
  • 应收账款占比高受哪些因素影响
  • 应付票据与应付账款增长的多的逃税问题
  • 个体户一个月能赚多少钱
  • 营改增一般纳税人标准
  • 电信发票为什么有单位
  • 案例分析收到了哪些安全启示
  • 未缴纳或未足额缴纳出资的股东
  • 记账凭证附件的作用
  • mysql关联查询原理
  • sqlserver dbcc
  • jdbc数据库连接步骤
  • Ubuntu上安装jdk
  • linux常用命令 删除
  • 如何教新手
  • win8功能大全介绍
  • win10一直显示正在启动
  • g++编译debug
  • shell中创建文件
  • 枚举的内容怎么输出
  • node.js中的http.response.setHeader方法使用说明
  • canvas实例
  • jquery.form
  • 如何查询医院是否有怀孕建档名额
  • 金税盘和uk
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设