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 相关文章推荐
HTML node相关的一些资料整理
Jan 01 Javascript
比较搞笑的js陷阱题
Feb 07 Javascript
JavaScript对象、属性、事件手册集合方便查询
Jul 04 Javascript
JavaScript创建对象的写法
Aug 29 Javascript
我的Node.js学习之路(三)--node.js作用、回调、同步和异步代码 以及事件循环
Jul 06 Javascript
javascript实现滑动解锁功能
Dec 31 Javascript
DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等)
Nov 09 Javascript
用v-html解决Vue.js渲染中html标签不被解析的问题
Dec 14 Javascript
使用vue.js写一个tab选项卡效果
Mar 25 Javascript
webpack学习--webpack经典7分钟入门教程
Jun 28 Javascript
jquery的 filter()方法使用教程
Mar 22 jQuery
layui table 表格上添加日期控件的两种方法
Sep 28 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
BBS(php & mysql)完整版(三)
2006/10/09 PHP
yii框架源码分析之创建controller代码
2011/06/28 PHP
PHPMYADMIN导入数据最大为2M的解决方法
2012/04/23 PHP
php5.3 注意事项说明
2013/07/01 PHP
详解PHP中strlen和mb_strlen函数的区别
2014/03/07 PHP
jQuery 网易相册鼠标移动显示隐藏效果实现代码
2013/03/31 Javascript
JavaScript 判断用户输入的邮箱及手机格式是否正确
2013/12/08 Javascript
jquery中对于批量deferred的处理方法
2014/01/22 Javascript
用IE重起计算机或者关机的示例代码
2014/03/10 Javascript
JS将光标聚焦在文本最后的实现代码
2014/03/28 Javascript
jQuery实现可展开合拢的手风琴面板菜单
2015/09/15 Javascript
jQuery Validate初步体验(一)
2015/12/12 Javascript
js滑动提示效果代码分享
2016/03/10 Javascript
jquery判断iPhone、Android设备类型
2016/09/14 Javascript
Angular.js之作用域scope'@','=','&'实例详解
2017/02/28 Javascript
jQuery实现一个简单的验证码功能
2017/06/26 jQuery
vue slot 在子组件中显示父组件传递的模板
2018/03/02 Javascript
vue下载二进制流图片操作
2020/10/26 Javascript
vue前端和Django后端如何查询一定时间段内的数据
2021/02/28 Vue.js
给Python IDLE加上自动补全和历史功能
2014/11/30 Python
Python中使用Tkinter模块创建GUI程序实例
2015/01/14 Python
Python中的作用域规则详解
2015/01/30 Python
九步学会Python装饰器
2015/05/09 Python
在Django的URLconf中使用命名组的方法
2015/07/18 Python
python+tkinter编写电脑桌面放大镜程序实例代码
2018/01/16 Python
使用python读取csv文件快速插入数据库的实例
2018/06/21 Python
CentOS 7 安装python3.7.1的方法及注意事项
2018/11/01 Python
使用TensorFlow搭建一个全连接神经网络教程
2020/02/06 Python
解决pycharm同一目录下无法import其他文件
2020/02/12 Python
Python 中 sorted 如何自定义比较逻辑
2021/02/02 Python
详解Canvas事件绑定
2018/06/27 HTML / CSS
HTML5+WebSocket实现多文件同时上传的实例
2016/12/29 HTML / CSS
作为网站管理者应当如何防范XSS
2014/08/16 面试题
编程实现去掉XML的重复结点
2014/05/28 面试题
MySQL慢查询中的commit慢和binlog中慢事务的区别
2022/06/16 MySQL