您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

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

2025/12/28 5:25:08发布19次查看
这次给大家带来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懒加载详解(附代码)的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product