vue-router路由懒加载和权限控制详解


Posted in Javascript onDecember 13, 2017

vue-router路由懒加载 和权限控制,今天刚好搞了一个基于node token验证的小demo

所以下面介绍下,路由懒加载

1、为什么要使用路由懒加载呢

用vue.js写单页面应用时,会出现打包后的JavaScript包非常大,影响页面加载,我们可以利用路由的懒加载去优化这个问题,当我们用到某个路由后,才去加载对应的组件,这样就会更加高效

2、用法

import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
export default new Router({
 routes: [
  {
   path: '/',
meta: {
requiresAuth: true
},
   component: resolve => require(['components/Hello.vue'], resolve)
  },
  {
    path: '/about',
    component: resolve => require(['components/About.vue'], resolve)
  }
 ]
})

3、对路由钩子进行权限控制

//注册全局钩子用来拦截导航

router.beforeEach((to, from, next) => {
 //获取store里面的token
 let token = store.state.token;
 //判断要去的路由有没有requiresAuth
 if(to.meta.requiresAuth){
  if(token){
   next();
  }else{
   next({
    path: '/login',
    query: { redirect: to.fullPath } 
// 将刚刚要去的路由path(却无权限)作为参数,方便登录成功后直接跳转到该路由
   });
  }
 
 }else{
  next();//如果无需token,那么随它去吧
 }
});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 金额文本框实现代码
Feb 14 Javascript
浅析用prototype定义自己的方法
Nov 14 Javascript
JavaScript的21条基本知识点
Mar 04 Javascript
解决同一页面中两个iframe互相调用jquery,js函数的方法
Dec 12 Javascript
jquery版轮播图效果和extend扩展
Jul 18 jQuery
JavaScript学习笔记之函数记忆
Sep 06 Javascript
详解vue 组件之间使用eventbus传值
Oct 25 Javascript
使用vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)功能
Mar 22 Javascript
在Bootstrap开发框架中使用dataTable直接录入表格行数据的方法
Oct 25 Javascript
13 个npm 快速开发技巧(推荐)
Jul 04 Javascript
Node.js实现简单管理系统
Sep 23 Javascript
jQuery 选择器用法实例分析【prev + next】
May 22 jQuery
JS+canvas画一个圆锥实例代码
Dec 13 #Javascript
JS排序算法之冒泡排序,选择排序与插入排序实例分析
Dec 13 #Javascript
实例分析js事件循环机制
Dec 13 #Javascript
javascript实现QQ空间相册展示源码
Dec 12 #Javascript
自定义PC微信扫码登录样式写法
Dec 12 #Javascript
基于模板引擎Jade的应用(详解)
Dec 12 #Javascript
jquery获取transform里的值实现方法
Dec 12 #jQuery
You might like
基于php无限分类的深入理解
2013/06/02 PHP
PHP Class&Object -- PHP 自排序二叉树的深入解析
2013/06/25 PHP
php使用指定编码导出mysql数据到csv文件的方法
2015/03/31 PHP
使用phpQuery获取数组的实例
2017/03/13 PHP
PHP后台备份MySQL数据库的源码实例
2019/03/18 PHP
解读IE和firefox下JScript和HREF的执行顺序
2008/01/12 Javascript
js运动框架_包括图片的淡入淡出效果
2013/05/11 Javascript
js判断数据类型如判断是否为数组是否为字符串等等
2014/01/15 Javascript
jQuery判断当前点击的是第几个li的代码
2014/09/26 Javascript
javascript数组去重的方法汇总
2015/04/14 Javascript
多种js图片预加载实现方式分享
2016/02/19 Javascript
30分钟快速掌握Bootstrap框架
2016/05/24 Javascript
微信开发 js实现tabs选项卡效果
2016/10/28 Javascript
原生js实现键盘控制div移动且解决停顿问题
2016/12/05 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
2017/04/29 jQuery
Vue基于NUXT的SSR详解
2017/10/24 Javascript
Angularjs中的$apply及优化使用详解
2018/07/02 Javascript
vue父组件给子组件的组件传值provide inject的方法
2019/10/23 Javascript
react使用antd表单赋值,用于修改弹框的操作
2020/10/29 Javascript
[06:04]DOTA2国际邀请赛纪录片:Just For LGD
2013/08/11 DOTA
[49:11]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.20
2020/12/23 DOTA
python改变日志(logging)存放位置的示例
2014/03/27 Python
Python中用于转换字母为小写的lower()方法使用简介
2015/05/19 Python
人脸识别经典算法一 特征脸方法(Eigenface)
2018/03/13 Python
Django框架实现分页显示内容的方法详解
2019/05/10 Python
python3获取url文件大小示例代码
2019/09/18 Python
Python填充任意颜色,不同算法时间差异分析说明
2020/05/16 Python
Python分析最近大火的网剧《隐秘的角落》
2020/07/02 Python
Python中bisect的用法及示例详解
2020/07/20 Python
测控技术与仪器个人求职信范文
2013/12/30 职场文书
表扬信格式
2014/01/12 职场文书
超市优秀员工获奖感言
2014/08/15 职场文书
三分钟自我介绍演讲稿
2014/08/21 职场文书
员工离职证明范本
2015/06/12 职场文书
党风廉政教育心得体会2016
2016/01/22 职场文书
vue中data改变后让视图同步更新的方法
2021/03/29 Vue.js