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中null与undefined分析
Jul 25 Javascript
javascript 添加和移除函数的通用方法
Oct 20 Javascript
JavaScript 数组运用实现代码
Apr 13 Javascript
jquery实现多屏多图焦点图切换特效的方法
May 04 Javascript
jQuery中的ready函数与window.onload谁先执行
Jun 21 Javascript
前端弹出对话框 js实现ajax交互
Sep 09 Javascript
vue2.0+webpack环境的构造过程
Nov 08 Javascript
Grunt针对静态文件的压缩,版本控制打包的实例讲解
Sep 29 Javascript
JavaScript数据结构与算法之队列原理与用法实例详解
Nov 22 Javascript
Vue中Quill富文本编辑器的使用教程
Sep 21 Javascript
node.js使用redis储存session的方法
Sep 26 Javascript
ES6知识点整理之Proxy的应用实例详解
Apr 16 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实现仿写CodeIgniter的购物车类
2015/07/29 PHP
PHP的AES加密算法完整实例
2016/07/20 PHP
详解php用curl调用接口方法,get和post两种方式
2017/01/13 PHP
php记录搜索引擎爬行记录的实现代码
2018/03/02 PHP
JS window对象的top、parent、opener含义介绍
2013/12/03 Javascript
node.js中的fs.symlink方法使用说明
2014/12/15 Javascript
浅谈JavaScript中Date(日期对象),Math对象
2015/02/05 Javascript
纯javascript代码实现计算器功能(三种方法)
2015/09/07 Javascript
Bootstrap布局组件应用实例讲解
2016/02/17 Javascript
前端性能优化及技巧
2016/05/06 Javascript
jQuery web 组件 后台日历价格、库存设置的代码
2016/10/14 Javascript
nodejs实现OAuth2.0授权服务认证
2017/12/27 NodeJs
vue监听input标签的value值方法
2018/08/27 Javascript
vue根据进入的路由进行原路返回的方法
2018/09/26 Javascript
Electron-vue脚手架改造vue项目的方法
2018/10/22 Javascript
Vue服务端渲染实践之Web应用首屏耗时最优化方案
2019/03/22 Javascript
前端插件之Bootstrap Dual Listbox使用教程
2019/07/23 Javascript
layui表格数据重载
2019/07/27 Javascript
javascript实现商品图片放大镜
2019/11/28 Javascript
CentOS 8.2服务器上安装最新版Node.js的方法
2020/12/16 Javascript
[01:18]一目了然!DOTA2DotA快捷操作对比第一弹
2014/07/01 DOTA
Python3 itchat实现微信定时发送群消息的实例代码
2019/07/12 Python
基于python二叉树的构造和打印例子
2019/08/09 Python
如何解决tensorflow恢复模型的特定值时出错
2020/02/06 Python
Python基于类路径字符串获取静态属性
2020/03/12 Python
PyQt5+Pycharm安装和配置图文教程详解
2020/03/24 Python
利用Python制作动态排名图的实现代码
2020/04/09 Python
Python3如何在服务器打印资产信息
2020/08/27 Python
PyCharm 2020.2.2 x64 下载并安装的详细教程
2020/10/15 Python
欧洲最大的婴幼儿服装及内衣公司:Petit Bateau(小帆船)
2016/08/16 全球购物
大学活动总结范文
2014/04/29 职场文书
科技活动周标语
2014/10/08 职场文书
办公室主任个人对照检查材料思想汇报
2014/10/11 职场文书
2014年办公室主任工作总结
2014/11/12 职场文书
2016年第32个教师节红领巾广播稿
2015/12/18 职场文书
java版 联机五子棋游戏
2022/05/04 Java/Android