美文网首页
在nuxt的middleware中使用redirect问题

在nuxt的middleware中使用redirect问题

作者: muroujue | 来源:发表于2018-05-25 14:59 被阅读0次

nuxt的middleware会被用来处理页面加载前的一些逻辑,比如该页面需要用户登录,会在middleware中判断,需要时跳转登录页。

export default async function ({ app , req , redirect , route }){
  let token = app.$cookies.cookies && app.$cookies.cookies.token ? app.$cookies.cookies.token : null
  let path = process.server ? req.path : route.path
  if ( path ) {
    redirect({ path: '//m.xxx.com/account/register' })
  }
}

如果从服务端走这段代码,很顺利。但是走客户端时,会闪过一个500报错页面,再重定向到指定页面。
经调查好像也是nuxt的一个bug,如果跳转nuxt项目中的页面path没事,但是跳外站点则会出现这个现象。
考虑临时解决方案是在上一个页面时就判断token值,如果有使用路由跳转,没有则使用window.location.href进入下一个页面。

相关文章

网友评论

      本文标题:在nuxt的middleware中使用redirect问题

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