项目运行默认首页路径 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
网友评论