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 相关文章推荐
Javascript日期对象的dateAdd与dateDiff方法
Nov 18 Javascript
JS的反射问题
Apr 07 Javascript
javascript面向对象之二 命名空间
Feb 08 Javascript
购物车选中得到价格实现示例
Jan 26 Javascript
JavaScript中Cookie操作实例
Jan 09 Javascript
JS实现仿google、百度搜索框输入信息智能提示的实现方法
Apr 20 Javascript
JavaScript html5 canvas画布中删除一个块区域的方法
Jan 26 Javascript
jQuery中的AjaxSubmit使用讲解
Sep 25 Javascript
深入理解Vue-cli搭建项目后的目录结构探秘
Jul 13 Javascript
基于Vue实现页面切换左右滑动效果
Jun 29 Javascript
Vue实现返回顶部按钮实例代码
Oct 21 Javascript
react中hook介绍以及使用教程
Dec 11 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自动反斜杠的函数代码
2010/01/05 PHP
PHP采用自定义函数实现遍历目录下所有文件的方法
2014/08/19 PHP
php中socket的用法详解
2014/10/24 PHP
延时重复执行函数 lLoopRun.js
2007/05/08 Javascript
js获取class的所有元素
2013/03/28 Javascript
jquery ajax属性async(同步异步)示例
2013/11/05 Javascript
jQuery中has()方法用法实例
2015/01/06 Javascript
探索angularjs+requirejs全面实现按需加载的套路
2016/02/26 Javascript
基于slideout.js实现移动端侧边栏滑动特效
2016/11/28 Javascript
jquery 实时监听输入框值变化的完美方法(必看)
2017/01/26 Javascript
利用NPM淘宝的node.js镜像加速nvm
2017/03/27 Javascript
three.js中3D视野的缩放实现代码
2017/11/16 Javascript
jQuery length 和 size()区别总结
2018/04/26 jQuery
[原创]微信小程序获取网络类型的方法示例
2019/03/01 Javascript
[02:41]辉夜杯现场一家三口 “我爸玩风行 我玩血魔”
2015/12/27 DOTA
python学习手册中的python多态示例代码
2014/01/21 Python
django执行原始查询sql,并返回Dict字典例子
2020/04/01 Python
在服务器上安装python3.8.2环境的教程详解
2020/04/26 Python
python使用布隆过滤器的实现示例
2020/08/20 Python
用CSS3实现无限循环的无缝滚动的实例代码
2017/07/04 HTML / CSS
德国运动鞋网上商店:Afew Store
2018/01/05 全球购物
澳大利亚办公室装修:JasonL Office Furniture
2019/06/25 全球购物
Linux常见面试题
2016/10/04 面试题
造价工程师个人求职信
2013/09/21 职场文书
拖鞋店创业计划书
2014/01/15 职场文书
幼儿园教师工作感言
2014/02/15 职场文书
2014元旦晚会策划方案
2014/02/19 职场文书
民事诉讼授权委托书范文
2014/08/02 职场文书
年终工作总结范文2014
2014/11/27 职场文书
运动会闭幕式通讯稿
2015/07/18 职场文书
《索溪峪的野》教学反思
2016/02/19 职场文书
Python基础之hashlib模块详解
2021/05/06 Python
MySQL修改默认引擎和字符集详情
2021/09/25 MySQL
能用CSS实现的就不要麻烦JavaScript了
2021/10/05 HTML / CSS
MySQL 中如何归档数据的实现方法
2022/03/16 SQL Server
Nginx配置使用详解
2022/07/07 Servers