You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nuxt 3路由中间件触发无限重定向问题求助

Nuxt3自定义路由中间件无限重定向问题解决

问题原因

  1. 未判断目标路由是否为跳转目的地:如果该中间件是全局生效或作用于/about页面,每次跳转到/about时都会再次触发中间件,重复执行跳转逻辑,形成无限循环。
  2. navigateTo未通过return返回:Nuxt3路由中间件中,必须返回navigateTo才能终止当前路由流程,否则原路由逻辑会继续执行,加重异常。

修复后的代码

export default defineNuxtRouteMiddleware((to, from) => {
  const user = {
    id: 1,
    name: "James"
  };

  if (process.server) {
    // 仅当用户不在/about页面时才执行跳转
    if (user.id === 1 && to.path !== '/about') {
      console.log('confirmed');
      // 返回navigateTo终止当前路由并执行跳转
      return navigateTo('/about');
    }
  }
})

额外说明

  • 若使用全局中间件,可根据需求添加更多路由排除规则,避免对特定页面触发不必要的逻辑。
  • 确保中间件的应用范围符合业务需求,比如仅在特定页面路由上启用该中间件,而非全局生效。

内容的提问来源于stack exchange,提问作者TheTechInnovator

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 15:44:56