NextJS 部署到 Vercel:找不到 404 页面

NextJS deployed to Vercel: 404 page not found

我有一个没有集成 api 的 NextJS 应用程序,我想将其部署到 Vercel。当我 运行 在本地 yarn run dev 并且我也可以毫无错误地构建它 yarn run build 时,它工作正常。但是,当我部署 Vercel 时,我收到 404 Error.

这是我的文件夹结构:

app/
  - components
  - pages
    - editor
      - [id].tsx
    ...tsx
  - public
  - utils
    - db
      api.ts

我正在使用 NextJs 10.0.3。

这是部署的 link app

我没有 nextjs 配置文件。我的假设是错误是由动态路由引起的,但我找不到我的错误。此外,与仅动态页面相反,部署应用程序时没有页面工作。

你有下一步要看的地方吗?

编辑 1:
Here 是 GitHub 仓库的 link。

编辑 2: 我发现了一个问题,但不知道如何解决。

这是我的构建输出在 Vercel 上的样子:

这是它在 Vercel 上的样子:

不确定为什么整个 _next 文件夹都丢失了。

已编辑

尝试使用 now --prod --force --force 标志将清除您的构建缓存(在生产中)并强制生产推送。 如果仍然没有工作,请确保添加 now.json

我刚刚遇到了完全相同的问题。 我的 Next 应用程序位于子目录中。我认为这可能是一些问题的原因。

对我有用的是。

  • 确保选择正确的子目录。我的上面有一个 Next Js 的小图标。
  • 框架预设需要设置为Next.js。

我的问题是我首先尝试通过团队部署 Vercel。当我在我的个人 Vercel 帐户下创建一个新的 Vercel 项目并部署相同的代码时,它成功了!我希望这可以节省其他人的时间,因为我刚刚花了 3 个小时才找到它。我也在使用 Next.js。

如果您尝试通过团队进行部署,您可能需要先在 vercel.json 中配置团队 ID,例如

{
  "currentTeam": "team_ofwUZockJlL53hINUGCc1ONW"
}

参考:https://vercel.com/docs/configuration#global/config-json/current-team

同时确保选择 Next.js 作为框架预设(而不是其他)。您可以在项目设置和构建与开发设置下找到它。 更多信息:https://vercel.com/docs/concepts/deployments/build-step

转到项目设置

将框架预设从 Other 更改为 Next.js

重新部署项目。