SuperAPI AI 工具集

nextjs-16-proxy

前端与建站

查看项目

更新于 10-15 17:27

技能介绍

用途:该技能说明 Next.js 16 把 middleware 重命名为 proxy 的变化,用于在请求进入路由前处理网络边界逻辑,如 URL 重写、路径代理等。

主要能力与用法:文件位置需放在 app 或 pages 同级目录,例如 src/proxy.ts,不能放在 app/ 内;函数名从 middleware 改为 proxy,导出方式为 export function proxy(request: NextRequest),可从 next/server 引入 NextResponse 与 NextRequest 类型。可通过 config.matcher 限定匹配路径,例如 ["/uploads/:path*"]。示例中展示将 /uploads/* 重写为 /api/uploads/* 的实现方式,并返回 NextResponse.rewrite(newUrl) 或 NextResponse.next()。

常见问题:当根目录存在 [teamSlug] 这类动态路由时,可能先于 next.config.ts 中的 rewrites 捕获路径,导致预期重写失败并返回 404。文档建议改用 proxy.ts 处理,因为 proxy 在路由之前运行。

迁移:可运行 npx @next/codemod@canary middleware-to-proxy .,该命令会重命名文件并更新函数名。

限制:资料仅覆盖文件位置、函数名替换、匹配器与重写示例,未提供更多 API、版本细节或配置选项。