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 相关文章推荐
Ajax::prototype 源码解读
Jan 22 Javascript
JQuery 实现的页面滚动时浮动窗口控件
Jul 10 Javascript
jQuery ctrl+Enter shift+Enter实现代码
Feb 07 Javascript
javascript 面向对象 function类
May 13 Javascript
jQuery实现大转盘抽奖活动仿QQ音乐代码分享
Aug 21 Javascript
浅谈Vuex的状态管理(全家桶)
Nov 04 Javascript
vue用递归组件写树形控件的实例代码
Jul 19 Javascript
vue-cli 3.x 配置Axios(proxyTable)跨域代理方法
Sep 19 Javascript
node.js爬取中关村的在线电瓶车信息
Nov 13 Javascript
详解jQuery获取特殊属性的值以及设置内容
Nov 14 jQuery
微信小程序云开发之数据库操作
May 18 Javascript
node解析修改nginx配置文件操作实例分析
Nov 06 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网页显示各种语法错误
2013/09/23 PHP
php5.2 Json不能正确处理中文、GB编码的解决方法
2014/03/28 PHP
PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
2014/05/10 PHP
Laravel中正确地返回HTTP状态码方法示例
2019/09/10 PHP
JavaScript加密解密7种方法总结分析
2007/10/07 Javascript
JavaScript 学习笔记(四)
2009/12/31 Javascript
简略的前端架构心得&&基于editor为例子的编码小技巧
2010/11/25 Javascript
异步动态加载js与css文件的js代码
2013/09/15 Javascript
javascript进行数组追加方法小结
2014/06/16 Javascript
jQuery EasyUI 布局之动态添加tabs标签页
2015/11/18 Javascript
使用JS在浏览器中判断当前网络连接状态的几种方法
2017/05/05 Javascript
vue.js 上传图片实例代码
2017/06/22 Javascript
webpack踩坑之路图片的路径与打包
2017/09/05 Javascript
老生常谈JavaScript面向对象基础与this指向问题
2017/10/16 Javascript
JS实现获取word文档内容并输出显示到html页面示例
2018/06/23 Javascript
Vuex中的State使用介绍
2019/01/19 Javascript
Websocket 向指定用户发消息的方法
2020/01/09 Javascript
Python中矩阵创建和矩阵运算方法
2018/08/04 Python
用Python获取摄像头并实时控制人脸的实现示例
2019/07/11 Python
Python中变量的输入输出实例代码详解
2019/07/28 Python
PyCharm搭建Spark开发环境的实现步骤
2019/09/05 Python
python生成器用法实例详解
2019/11/22 Python
python实现宿舍管理系统
2019/11/22 Python
pytorch下大型数据集(大型图片)的导入方式
2020/01/08 Python
Python实现清理微信僵尸粉功能示例【基于itchat模块】
2020/05/29 Python
pycharm最新激活码有效期至2100年(亲测可用)
2021/02/05 Python
Html5页面上如何禁止手机虚拟键盘弹出
2020/03/19 HTML / CSS
英国Zoro工具:手动工具,电动工具和个人防护用品
2016/11/02 全球购物
美国流行背包品牌:JanSport(杰斯伯)
2018/03/02 全球购物
大学生大二自我鉴定
2013/10/28 职场文书
建筑个人求职信范文
2014/01/25 职场文书
会计岗位描述
2014/02/22 职场文书
学生请假条
2014/04/11 职场文书
实习单位评语
2014/04/26 职场文书
公司节能减排方案
2014/05/16 职场文书
HTML5+CSS+JavaScript实现捉虫小游戏设计和实现
2021/10/16 HTML / CSS