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 相关文章推荐
IE innerHTML,outerHTML所引起的问题
Jun 04 Javascript
Js控制滑轮左右滑动实例
Feb 13 Javascript
javascript表格的渲染组件
Jul 03 Javascript
Javascript验证Visa和MasterCard信用卡号的方法
Jul 27 Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
Jan 25 jQuery
JavaScript对象的浅拷贝与深拷贝实例分析
Jul 25 Javascript
Vue实现调节窗口大小时触发事件动态调节更新组件尺寸的方法
Sep 15 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【凹多边形的分离轴检测算法】
Dec 13 Javascript
Next.js实现react服务器端渲染的方法示例
Jan 06 Javascript
详解react组件通讯方式(多种)
May 06 Javascript
vue 实现上传组件
May 31 Vue.js
Axios取消重复请求的方法实例详解
Jun 15 Javascript
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生成带有雪花背景的验证码
2006/10/09 PHP
Apache2 httpd.conf 中文版
2006/12/06 PHP
在MongoDB中模拟Auto Increment的php代码
2011/03/06 PHP
php共享内存段示例分享
2014/01/20 PHP
PHPMailer发送HTML内容、带附件的邮件实例
2014/07/01 PHP
Yii2 中实现单点登录的方法
2018/03/09 PHP
Cookie 注入是怎样产生的
2009/04/08 Javascript
js获取当前月的第一天和最后一天的小例子
2013/11/18 Javascript
JavaScript让网页出现渐隐渐显背景颜色的方法
2015/04/21 Javascript
Sublime Text 3常用插件及安装方法
2015/12/16 Javascript
js定义类的几种方法(推荐)
2016/06/08 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
React应用中使用Bootstrap的方法
2017/08/15 Javascript
vue 封装自定义组件之tabal列表编辑单元格组件实例代码
2017/09/07 Javascript
angular2中使用第三方js库的实例
2018/02/26 Javascript
详解react-native WebView 返回处理(非回调方法可解决)
2018/02/27 Javascript
vue-cli 默认路由再子路由选中下的选中状态问题及解决代码
2018/09/06 Javascript
详解小程序毫秒级倒计时(适用于拼团秒杀功能)
2019/05/05 Javascript
8 个有用的JS技巧(推荐)
2019/07/03 Javascript
解决layui页面按钮点击无反应,也不报错的问题
2019/09/29 Javascript
JQuery 实现文件下载的常用方法分析
2019/10/29 jQuery
Javascript实现鼠标点击冒泡特效
2019/12/24 Javascript
javascript解析json格式的数据方法详解
2020/08/07 Javascript
Express 配置HTML页面访问的实现
2020/11/01 Javascript
对python3 Serial 串口助手的接收读取数据方法详解
2019/06/12 Python
Django框架静态文件使用/中间件/禁用ip功能实例详解
2019/07/22 Python
jupyter notebook读取/导出文件/图片实例
2020/04/16 Python
Anaconda使用IDLE的实现示例
2020/09/23 Python
Foot Locker意大利官网:全球领先的运动鞋和服装零售商
2017/05/30 全球购物
美国滑雪和滑雪板商店:Buckman
2018/03/03 全球购物
Java如何格式化日期
2012/08/07 面试题
JAVA和C++区别都有哪些
2015/03/30 面试题
委托书格式
2014/08/01 职场文书
授权委托书格式范文
2014/08/02 职场文书
社会实践活动报告
2015/02/05 职场文书
结婚典礼致辞
2015/07/28 职场文书