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
重新部署项目。
我有一个没有集成 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
重新部署项目。