vue-router懒加载详解(附代码)

这次给大家带来vue-router加载详解(附代码),vue-router懒加载使用的注意事项有哪些,下面就是实战案例,一起来看一下。

用过vue-router都知道它可以实现模块js的懒加载,即只有当需要时才去加载对应模块的js脚本文件,以加速主页的显示。比如只有第一次用户点击某个“用户信息”按钮或菜单时,才下

这次给大家带来,的注意事项有哪些,下面就是实战案例,一起来看一下。

载“用户信息”这个模块的js组件。

懒加载的实现,依赖与webpack下AMD模式require函数的功能。webpack会将异步require的文件生成一个独立的js文件,调用时异步下载这个js且在完成后再执行它。开发项目中实现的关键代码是:

const basicInfo = {  path: '/user',  component: resolve => require(['./basicInfo.vue'], resolve) }//然后将这个basicInfo加入路由表中

登录后复制

但是这里有个问题:从用户点击“用户信息”菜单开始,到js文件下载完毕执行开始,由于从网络下载js有一个时间延迟,这期间用户界面是没有任何响应的,让用户感觉点上去无效,常会重复再次点击。特别是js文件大而网速慢时更明显。因此,在这个过程中添加一个Loading的加载提示很有必要。

我们分析这行代码:

resolve => require(['./basicInfo.vue'], resolve)

登录后复制

它是一个函数,执行了require的过程,完成后再调用resolve回调函数。我们只要封装一下,在require执行之前显示Loading,然后在加载完成执行回调的时候隐藏Loading,也就实现这个需求了。如下:

const basicInfo = {  path: '/user',  component: resolve => {    [显示Loading]    require(['./basicInfo.vue'], component => {      [隐藏Loading]      resolve(component)    })  }};

登录后复制

显示和隐藏Loading的代码,可根据自己的UI框架处理就行。比如element-ui:

import { Loading } from 'element-ui';var unique;export default {  show() {    let opt = {body: true, text: 'Loading...'};    if(!unique) unique = Loading.service(opt);  },  resolve(resolve) {    return function (component) {      if (unique) {        unique.close();        unique = null;      }      resolve(component)    }  }}const basicInfo = {  path: '/user',  component: resolve => {    spinRoute.show();    require(['./basicInfo.vue'], spinRoute.resolve(resolve))  }};

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

vue cli如何升级webapck4

vue-cli 3.0 新手入门必知

D3.js实现动态表盘效果

立即学习“前端免费学习笔记(深入)”;

以上就是vue-router懒加载详解(附代码)的详细内容,更多请关注【创想鸟】其它相关文章!

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

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2770136.html

(0)
上一篇 2025年3月8日 12:31:57
下一篇 2025年3月7日 11:52:23

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • vuejs项目打包结束后首屏加载优化

    这次给大家带来vuejs项目打包结束后首屏加载优化,vuejs项目打包结束后首屏加载优化的注意事项有哪些,下面就是实战案例,一起来看一下。 一:使用CDN资源 我们在打包时,会将package.json里,dependencies对象里插件…

    编程技术 2025年3月8日
    200
  • CDN优化首屏加载速度

    这次给大家带来CDN优化首屏加载速度,CDN优化首屏加载速度的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 作为一个网站应用,加载速度是非常重要的。加载速度,一个是程序的合理安排,如以组件按需加载,一个是js、css等资源的异步加…

    编程技术 2025年3月8日
    200
  • Angular4的router使用步奏(附代码)

    这次给大家带来Angular4的router使用步奏(附代码),Angular4的router使用注意事项有哪些,下面就是实战案例,一起来看一下。 router,也就是路由,是前端中一个比较重要的概念。通过router把特定的地址和对应的页…

    2025年3月8日 编程技术
    200
  • 做出全局搜索代码并高亮

    这次给大家带来做出全局搜索代码并高亮,做出全局搜索代码并高亮的注意事项有哪些,下面就是实战案例,一起来看一下。 需求 最近在做微信小程序的时候,需要实现在搜索框的输入内容的时候实现全局匹配实现高亮效果,目前的思路是,递归后台来返回的数据,并…

    编程技术 2025年3月8日
    200
  • Django如何加载css和js文件以及静态图片

    这篇文章介绍的内容是关于Django如何加载css和js文件以及静态图片,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 一、首先我们应该创立一个文件夹名字为static 该文件夹用于用于保存和存储css,js和图片文件 我们…

    2025年3月8日 编程技术
    200
  • 怎么隐藏js代码

    这次给大家带来怎么隐藏js代码,隐藏js代码的注意事项有哪些,下面就是实战案例,一起来看一下。 好了,我们来看下代码吧。 (function(window) { var rep = { // 替换用的数据,使用了4个零宽字符,数据量减少了一…

    编程技术 2025年3月8日
    200
  • jQuery实现弹窗效果(附代码)

    这次给大家带来jQuery实现弹窗效果(附代码),jQuery实现弹窗效果的注意事项有哪些,下面就是实战案例,一起来看一下。 这里利用jquery实现两种弹窗效果: 1. 淡入弹窗效果: www.jb51.net jQuery弹窗 *{pa…

    2025年3月8日
    200
  • jquery实现轮播图(附代码)

    这次给大家带来jquery实现轮播图(附代码),jquery实现轮播图的注意事项有哪些,下面就是实战案例,一起来看一下。 轮播图: 接触jquery也有一段时间了,今天刚好利用轮播图来练练手。博文的前面会介绍一个简单用jquery做轮播图的…

    2025年3月8日 编程技术
    200
  • Ajax实现异步加载

    这次给大家带来Ajax实现异步加载,Ajax实现异步加载的注意事项有哪些,下面就是实战案例,一起来看一下。 AJAX (Asynchronous JavaScript and XML,异步的 JavaScript 和 XML)。它不是新的编…

    2025年3月8日
    200
  • JSON对象使用案例(附代码)

    这次给大家带来JSON对象使用案例(附代码),JSON对象使用的注意事项有哪些,下面就是实战案例,一起来看一下。 前面的话   json(javascript object notation)全称是javascript对象表示法,它是一种数…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论