我目前正在使用Next.js进行一个项目。总体而言,事情进展顺利,但我遇到了一个问题,我的中间件.ts文件。尽管努力遵循Middleware docs,中间件似乎没有按预期触发。下面是我的middleware.ts
文件的内容:
import { NextRequest, NextResponse } from 'next/server'
// This function can be marked `async` if using `await` inside
export function middleware(request: NextRequest) {
console.log("it ran")
return NextResponse.json({"hello":"middleware"})
}
字符串
奇怪的是,响应和console.log语句都没有被执行。为了提供更多的上下文,这里是我的项目的结构:
的数据
我将感谢任何关于解决这个问题的见解或指导。
1条答案
按热度按时间ovfsdjhp1#
首先,
middleware != api
您的中间件文件 * 不应该 * 返回JSON或
NextResponse.next()
以外的任何内容。您必须返回NextResponse.next()
才能让您的应用程序去它应该去的地方。如果您不返回NextResponse.next()
,那么您的请求就会被卡在中间件中。将你的代码修改成这样就可以让它工作了。
字符串