我一直在尝试让重写在 NextJS 中为我的 API 路径工作。这是为了避免 CORS 问题。
我遵循了来自NextJs CORS issue的解决方案。
它在本地主机上工作,但在生产环境中不起作用(我在 Vercel 本身上部署)。
我基本上尝试了所有类型的重写:
async rewrites() {
return {
beforeFiles: [
{
source: "/api/:path*",
destination: `https://example.com/api/v1/:path*`,
basePath: false,
},
],
afterFiles: [
{
source: "/api/:path*",
destination: `https://example.com/api/v1/:path*`,
basePath: false,
},
],
fallback: [
{
source: "/api/:path*",
destination: `https://example.com/api/v1/:path*`,
basePath: false,
},
],
};
},
此重写在 localhost 上有效,但在生产环境中,重写停止工作,API 调用转至/api/:path*
自身。