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 相关文章推荐
Js之软键盘实现(js源码)
Jan 30 Javascript
IE6下opacity与JQuery的奇妙结合
Mar 01 Javascript
原生js实现查找/添加/删除/指定元素的class
Apr 12 Javascript
js作用域及作用域链概念理解及使用
Apr 15 Javascript
js获取本机的外网/广域网ip地址完整源码
Aug 12 Javascript
JS动态添加与删除select中的Option对象(示例代码)
Dec 20 Javascript
javascript匿名函数应用示例介绍
Mar 07 Javascript
JavaScript实现DIV层拖动及动态增加新层的方法
May 12 Javascript
jQuery控制DIV层实现由大到小,由远及近动画变化效果
Oct 09 Javascript
Node.js中Request模块处理HTTP协议请求的基本使用教程
Mar 31 Javascript
解决AngualrJS页面刷新导致异常显示问题
Apr 20 Javascript
微信小程序利用云函数获取手机号码
Dec 17 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中用于检测一个地理IP地址是否可用的代码
2012/02/19 PHP
php打开远程文件的方法和风险及解决方法
2013/11/12 PHP
PHP读取zip文件的方法示例
2016/11/17 PHP
最简单的jQuery程序 入门者学习
2009/07/09 Javascript
jquery 模拟雅虎首页的点击对话框效果
2010/04/11 Javascript
iphone safari不支持position fixed的解决方法
2012/05/04 Javascript
js操作iframe兼容各种主流浏览器示例代码
2013/07/22 Javascript
JavaScript实现url地址自动检测并添加URL链接示例代码
2013/11/12 Javascript
点击显示指定元素隐藏其他同辈元素的方法
2014/02/19 Javascript
实例详解jQuery结合GridView控件的使用方法
2016/01/04 Javascript
在Linux系统中搭建Node.js开发环境的简单步骤讲解
2016/01/26 Javascript
Bootstrap每天必学之响应式导航、轮播图
2016/04/25 Javascript
返回函数的JavaScript函数
2016/06/14 Javascript
iframe中使用jquery进行查找的方法【案例分析】
2016/06/17 Javascript
谈谈JavaScript中的几种借用方法
2016/08/09 Javascript
jQuery双向列表选择器select版
2016/11/01 Javascript
详解Webpack DLL用法以及功能
2017/07/11 Javascript
详解Vue的computed(计算属性)使用实例之TodoList
2017/08/07 Javascript
微信小程序实现跳转的几种方式总结(推荐)
2019/04/24 Javascript
vue实现在线翻译功能
2019/09/27 Javascript
vue-iview动态新增和删除的方法
2020/06/17 Javascript
ESLint 是如何检查 .vue 文件的
2020/11/30 Vue.js
Windows上配置Emacs来开发Python及用Python扩展Emacs
2015/11/20 Python
Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
2017/08/31 Python
Python当中的array数组对象实例详解
2019/06/12 Python
如何基于python实现画不同品种的樱花树
2020/01/03 Python
keras模型可视化,层可视化及kernel可视化实例
2020/01/24 Python
Python使用os.listdir和os.walk获取文件路径
2020/05/21 Python
python 实时调取摄像头的示例代码
2020/11/25 Python
美国网上购买眼镜:Eyeconic
2017/07/29 全球购物
房地产开发计划书
2014/01/10 职场文书
《泉水》教学反思
2014/04/11 职场文书
学校节能减排倡议书
2014/05/16 职场文书
如何使用Maxwell实时同步mysql数据
2021/04/08 MySQL
Nginx+Windows搭建域名访问环境的操作方法
2022/03/17 Servers
Java实现字符串转为驼峰格式的方法详解
2022/07/07 Java/Android