美文网首页
nuxt路由拦截问题2019-01-18

nuxt路由拦截问题2019-01-18

作者: 坨坨_ea46 | 来源:发表于2019-01-18 18:31 被阅读0次

问题场景: 页面登录之前,其他页面是没有权限访问的。
做法:
1. 在plugins文件夹下创建auth.js.

export default ({ app }) => {
  app.router.beforeEach((to, from, next) => {
    if (process.client) {
      const token = sessionStorage.getItem('token');
      if (!token && to.path !== '/login') {
        next('/login');
      } else if (to.path !== '/login') {
          next();
      } else {
        next();
      }
    }
  });
};
  1. nuxt.config.js页面
plugins: [
    '@/plugins/auth',
  ],

这种做法存在问题:1. next('/login');会走error页面,如图;


image.png

解决方案:

  1. 在middleware文件夹下创建redirect.js.
export default function ({ route, redirect }) {
  if (process.client) {
    const token = sessionStorage.getItem('token');
    if (!token && route.path !== '/login') {
      redirect('/login');
    }
  }
}
  1. nuxt.config.js页面
  router: {
    middleware: ['redirect'],
  },

注意: nuxt1版本的时候plugins的方法是没有报错的,这个有待研究。

相关文章

  • nuxt路由拦截问题2019-01-18

    问题场景: 页面登录之前,其他页面是没有权限访问的。做法:1. 在plugins文件夹下创建auth.js. nu...

  • vue-router 3.x,菜单权限管理

    一次性改变路由导航 每次切换路由再判断是否有权限 nuxt 路由拦截[https://segmentfault.c...

  • 『ios』路由拦截器实现和一些思路

    我们带着几个问题来看这篇。1.什么是路由拦截器,路由拦截器的用处。2.路由拦截器是如何实现的。3.路由拦截器在项目...

  • vue+axios 实现登录拦截权限验证

    vue+axios 前端实现登录拦截(路由拦截、http拦截) 一、路由拦截 登录拦截逻辑 第一步:路由拦截 首先...

  • vue+axios 实现登录拦截权限验证

    vue+axios 前端实现登录拦截(路由拦截、http拦截) 一、路由拦截 登录拦截逻辑第一步:路由拦截首先在定...

  • vue接口拦截

    接口拦截 路由拦截 接口拦截应该指的是 http 请求拦截路由拦截是 vue 这种框架里的拦截登录拦截是一个需求,...

  • 路由动画

    全局路由动画 transition.css nuxt.config.js 页面组件路由动画

  • 2021-02-22nuxt.js服务端渲染中如何实现路由的跳转

    一、nuxt.js 路由跳转 1、nuxt-link标签跳转 在html标签内使用nuxt-link跳转,相应于超...

  • nuxt路由

    在 Nuxt.js 里面定义带参数的动态路由,需要创建对应的以下划线作为前缀的 Vue 文件 或 目录。 以下目录...

  • nuxt - 路由

    页面路由跳转 场景: pages的about和new文件夹下有index.vue页面解决: 直接a标签,但不建议 ...

网友评论

      本文标题:nuxt路由拦截问题2019-01-18

      本文链接:https://www.haomeiwen.com/subject/nufodqtx.html