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 相关文章推荐
jquery 插件学习(六)
Aug 06 Javascript
javascript实现跳转菜单的具体方法
Jul 05 Javascript
javascript对下拉列表框(select)的操作实例讲解
Nov 29 Javascript
javascript向后台传送相同属性的参数即数组参数
Feb 17 Javascript
查询json的数据结构的8种方式简介
Mar 10 Javascript
JavaScript中的setUTCDate()方法使用详解
Jun 11 Javascript
AngularJS基础 ng-include 指令简单示例
Aug 01 Javascript
js表单元素checked、radio被选中的几种方法(详解)
Aug 22 Javascript
完美解决JS文件页面加载时的阻塞问题
Dec 18 Javascript
详解Angualr 组件间通信
Jan 21 Javascript
原生JS改变透明度实现轮播效果
Mar 24 Javascript
a标签调用js的方法总结
Sep 05 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
关于PHP5 Session生命周期介绍
2010/03/02 PHP
PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
2010/07/04 PHP
用Simple Excel导出xls实现方法
2012/12/06 PHP
PHP中使用curl入门教程
2015/07/02 PHP
php使用scandir()函数扫描指定目录下所有文件示例
2019/06/08 PHP
AJAX的跨域与JSONP(为文章自动添加短址的功能)
2010/01/17 Javascript
jquery制作居中遮罩层效果分享
2014/02/21 Javascript
js判断url是否有效的两种方法
2014/03/04 Javascript
js控制输入框获得和失去焦点时状态显示的方法
2015/01/30 Javascript
移动手机APP手指滑动切换图片特效附源码下载
2015/11/30 Javascript
学习JavaScript设计模式之享元模式
2016/01/18 Javascript
AngularJs $parse、$eval和$observe、$watch详解
2016/09/21 Javascript
js/jq仿window文件夹移动/剪切/复制等操作代码
2017/03/08 Javascript
JQuery Ajax 异步操作之动态添加节点功能
2017/05/24 jQuery
使用nodejs分离html文件里的js和css详解
2019/04/12 NodeJs
详解微信小程序的不同函数调用的几种方法
2019/05/08 Javascript
vue 解决data中定义图片相对路径页面不显示的问题
2020/08/13 Javascript
[02:04]2014DOTA2国际邀请赛 BBC小组赛第三天总结
2014/07/12 DOTA
[02:51]2014DOTA2 TI小组赛总结中国军团全部进军钥匙球馆
2014/07/15 DOTA
结合Python的SimpleHTTPServer源码来解析socket通信
2016/06/27 Python
shelve  用来持久化任意的Python对象实例代码
2016/10/12 Python
利用Anaconda完美解决Python 2与python 3的共存问题
2017/05/25 Python
python安装Scrapy图文教程
2017/08/14 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
2019/07/01 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
2019/10/18 Python
python实现图像拼接功能
2020/03/23 Python
Python性能测试工具Locust安装及使用
2020/12/01 Python
python 基于selenium实现鼠标拖拽功能
2020/12/24 Python
你不知道的葡萄干处理法、橙蜜处理法、二氧化碳酵母法
2021/03/17 冲泡冲煮
优秀党员转正的自我评价
2013/10/06 职场文书
QA工程师岗位职责
2013/11/20 职场文书
导购员的岗位职责
2014/02/08 职场文书
捐书活动倡议书
2015/04/27 职场文书
同步小康驻村工作简报
2015/07/20 职场文书
Python中Selenium对Cookie的操作方法
2021/07/09 Python
恶魔之树最顶端的三颗果实 震震果实上榜,第一可以制造岩浆
2022/03/18 日漫