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 相关文章推荐
一实用的实现table排序的Javascript类库
Sep 12 Javascript
JavaScript中使用replace结合正则实现replaceAll的效果
Jun 04 Javascript
最短的IE判断代码
Mar 13 Javascript
node.js中的path.resolve方法使用说明
Dec 08 Javascript
js鼠标滑过图片震动特效的方法
Feb 17 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
Feb 28 Javascript
Angularjs实现下拉框联动的示例代码
Aug 22 Javascript
Vue导出json数据到Excel电子表格的示例
Dec 04 Javascript
vue判断input输入内容全是空格的方法
Mar 02 Javascript
elementUI 设置input的只读或禁用的方法
Oct 30 Javascript
JavaScript 俄罗斯方块游戏实现方法与代码解释
Apr 08 Javascript
微信小程序实现可拖动悬浮图标(包括按钮角标的实现)
Dec 29 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颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
2013/09/23 PHP
php实现SAE上使用storage上传与下载文件的方法
2015/06/29 PHP
Laravel中间件实现原理详解
2016/10/09 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
2017/07/13 PHP
js中将多个语句写成一个语句的两种方法小结
2007/12/08 Javascript
js写一个字符串转成驼峰的实例
2013/06/21 Javascript
Jquery使用css方法改变样式实例
2015/05/18 Javascript
jquery移动端TAB触屏切换实现效果
2020/12/22 Javascript
jQuery模拟完美实现经典FLASH导航动画效果【附demo源码下载】
2016/11/09 Javascript
基于JavaScript实现Tab选项卡切换效果
2016/11/24 Javascript
Bootstrap基本插件学习笔记之Alert警告框(20)
2016/12/08 Javascript
canvas 实现中国象棋
2017/02/17 Javascript
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
bootstrap suggest下拉框使用详解
2017/04/10 Javascript
集合Bootstrap自定义confirm提示效果
2017/09/19 Javascript
webpack搭建vue 项目的步骤
2017/12/27 Javascript
微信小程序仿美团城市选择
2018/06/06 Javascript
Vue数据双向绑定的深入探究
2018/11/27 Javascript
基于jquery实现九宫格拼图小游戏
2018/11/30 jQuery
[11:44]Ti9 OG夺冠时刻
2019/08/25 DOTA
详解Python中列表和元祖的使用方法
2015/04/25 Python
python简单猜数游戏实例
2015/07/09 Python
Windows系统下使用flup搭建Nginx和Python环境的方法
2015/12/25 Python
根据tensor的名字获取变量的值方式
2020/01/04 Python
html5 利用canvas实现超级玛丽简单动画
2013/09/06 HTML / CSS
怀旧收藏品和经典纪念品:Betty’s Attic
2018/08/29 全球购物
linux面试题参考答案(2)
2015/12/06 面试题
内科护士实习自我鉴定
2013/10/17 职场文书
管理部副部长岗位职责范文
2014/03/09 职场文书
购房意向书范本
2014/04/01 职场文书
《神奇的克隆》教学反思
2014/04/10 职场文书
施工工地安全标语
2014/06/07 职场文书
家属答谢词
2015/01/05 职场文书
如何写通讯稿
2015/07/22 职场文书
2016年国陪研修感言
2015/11/18 职场文书
nginx配置指令之server_name的具体使用
2022/08/14 Servers