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 相关文章推荐
根据分辩率调用不同的CSS.
Jan 08 Javascript
JavaScript 获取当前时间戳的代码
Aug 05 Javascript
js中escape对应的C#解码函数 UrlDecode
Dec 16 Javascript
加载远程图片时,经常因为缓存而得不到更新的解决方法(分享)
Jun 26 Javascript
JavaScript设计模式之外观模式介绍
Dec 28 Javascript
Javascript 拖拽的一些高级的应用(逐行分析代码,让你轻松了拖拽的原理)
Jan 23 Javascript
自定义百度分享的分享按钮
Mar 18 Javascript
使用impress.js制作幻灯片
Sep 09 Javascript
Vue 短信验证码组件开发详解
Feb 14 Javascript
ES6新增数据结构WeakSet的用法详解
Aug 07 Javascript
angularJs 表格添加删除修改查询方法
Feb 27 Javascript
JavaScript代码简化技巧实例解析
Sep 09 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
再次研究下cache_lite
2007/02/14 PHP
经典的PHPer为什么被认为是草根?
2007/04/02 PHP
PHP和XSS跨站攻击的防范
2007/04/17 PHP
php生成局部唯一识别码LUID的代码
2012/10/06 PHP
php魔法函数与魔法常量使用介绍
2017/07/23 PHP
flash javascript之间的通讯方法小结
2008/12/20 Javascript
javascript prototype,executing,context,closure
2008/12/24 Javascript
JS实现一个按钮的方法
2015/02/05 Javascript
JavaScript对表格或元素按文本,数字或日期排序的方法
2015/05/26 Javascript
JSON字符串转JSON对象
2015/07/31 Javascript
jQuery基于ajax实现带动画效果无刷新柱状图投票代码
2015/08/10 Javascript
基于jquery animate操作css样式属性小结
2015/11/27 Javascript
IE8 内存泄露(内存一直增长 )的原因及解决办法
2016/04/06 Javascript
基于Bootstrap实现图片轮播效果
2016/05/22 Javascript
node.js 核心http模块,起一个服务器,返回一个页面的实例
2017/09/11 Javascript
vue实现文件上传功能
2018/08/13 Javascript
Vue 全家桶实现移动端酷狗音乐功能
2018/11/16 Javascript
微信小程序实现图片翻转效果的实例代码
2019/09/20 Javascript
vue 强制组件重新渲染(重置)的两种方案
2019/10/29 Javascript
实例分析javascript中的异步
2020/06/02 Javascript
React中使用Vditor自定义图片详解
2020/12/25 Javascript
python使用百度翻译进行中翻英示例
2014/04/14 Python
python fabric使用笔记
2015/05/09 Python
python 函数传参之传值还是传引用的分析
2017/09/07 Python
使用python编写监听端
2018/04/12 Python
Python通过调用有道翻译api实现翻译功能示例
2018/07/19 Python
图文详解python安装Scrapy框架步骤
2019/05/20 Python
python如何控制进程或者线程的个数
2020/10/16 Python
Belle Maison倍美丛官网:日本千趣会旗下邮购网站
2016/07/22 全球购物
计算机网络及管理学专业求职信
2014/06/05 职场文书
七一建党节演讲稿
2014/09/11 职场文书
委托书范本
2014/09/13 职场文书
2014年底个人工作总结
2015/03/10 职场文书
《打电话》教学反思
2016/02/22 职场文书
详解nginx安装过程并代理下载服务器文件
2022/02/12 Servers