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

Next.js 14.x中app/middleware.ts未触发问题求助

解决Next.js app/middleware.ts未触发的问题

给你几个实用的排查方向,按顺序试:

  • 检查Next.js版本:app目录的中间件要求版本13.1及以上,执行npm list next查看版本号,低于要求的话升级到最新稳定版。
  • 确认文件位置:middleware.ts必须放在app目录根下,不能嵌套在子文件夹里,位置不对的话框架根本不会识别这个中间件。
  • 重启开发服务器:开发环境容易有缓存残留,关掉next dev重新启动,很多时候缓存会导致新配置的中间件不生效。
  • 简化匹配规则测试:先把matcher改成'/about'试试能不能触发,排除复杂匹配规则的问题,确认生效后再改回'/about/:path*'。
  • 排查冲突配置:看看next.config.js里有没有rewrites或redirects规则,如果已经存在关于/about的重定向/重写,会优先于中间件执行,覆盖你的逻辑。
  • 检查混合路由冲突:如果项目同时有pages和app目录,要确保/about路由是由app目录处理的,而不是pages目录下的文件抢占了路由优先级。

还可以在middleware函数里加一行console.log('middleware triggered'),重启服务后访问/about,看终端有没有输出,能快速判断中间件是否被加载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 06:43:11