nuxt - 踩坑(二) - 路径重定向

2019-01-07  本文已影响0人  前端girl吖
项目结构.png

项目运行默认首页路径 localhost: 3000,想要重定向localhost: 3000/zh/。本来实现思路:通过middleware中间件判断路由是否有代表语言的动态参数,不存在就重定向,但这么写总会出现重定向次数过多的问题,无解,后来只能通过route.fullPath入手,注意这边根路径是‘/‘,为路由文件.nuxt/route.js中的base值:

// 中间件 middle/ route.js
export default function({ isHMR, app, store, route, params, error, redirect }) {
  if (isHMR) return
  // 页面均放在_lang文件夹下,即lang为动态路由参数
  /*if (!params.lang) {  //此写法会出现路由重定向次数过多的问题
    return redirect('/' + defaultLocale + '' + route.fullPath)
  }
*/
    if(route.fullPath == '/') {
      return redirect('/' + defaultLocale + '' + route.fullPath)
    }
}

// nuxt.config.js 配置中间件
 router: {
    middleware: 'route'  // 即每次路由跳转会调用该中间件
   //多个中间件写法
   // middleware: ['route']
  }
赞赞哇.png
上一篇下一篇

猜你喜欢

热点阅读