Next.js 14 - 中间件从不运行,我如何正确实现?

问题描述 投票:0回答:1

我正在开发 Next.js 14 应用程序,同时学习 Next.js 并在某种程度上学习 React。我可能只是做错了什么。

我正在使用 Xano 来注册和登录用户。我的目标是使用中间件根据 Xano authToken cookie 检查路由(为了简单起见,现在在所有路由上,稍后我会将其更改为仅需要保护的路由)。

我知道我需要将 middleware.ts 放在项目的根目录中(我没有使用 SRC 文件夹)。因此,我将其放置在与 package.json 相同的级别。现在看起来像这样:

import { NextResponse } from "next/server";

export default function middleware(req: any) {
  console.log('run middleware');
}

我希望这能确认它会在每条路线上运行(使用下一个/链接进行导航),然后添加我的身份验证逻辑。我在控制台中没有看到任何内容。它要么不起作用,要么我误解了它应该如何工作。

任何人都可以阐明我在这里应该期待什么和做什么吗?

next.js middleware
1个回答
0
投票

我认为您正在导出期望它“正常工作”的函数。请记住,导出函数所做的只是使其可以在其他地方导入。你在某个地方这样做吗?

© www.soinside.com 2019 - 2024. All rights reserved.