2

我一直在尝试让重写在 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*自身。

4

1 回答 1

3

/api路径是为其无服务器功能保留的。将源路径更改为其他路径将解决该问题。

于 2021-09-18T00:34:35.723 回答