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

utugiqy6  于 2023-04-30  发布在  其他
关注(0)|答案(6)|浏览(105)

我有一个没有集成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.
下面是已部署的app的链接。
我没有nextjs配置文件。我假设错误是由动态路由引起的,但我找不到我的错误。此外,当部署应用程序时,没有页面在工作,而不是只有动态页面。
你有下一步该去哪里找的指示吗?
编辑1:
Here是GitHub存储库的链接。
编辑2:我发现了一个问题,但不知道如何解决它。
这是我在Vercel上的构建输出:

这是它应该在Vercel上看起来的样子:

不知道为什么整个_next文件夹都不见了。

ct2axkht

ct2axkht1#

转到项目设置
将框架预设从Other更改为Next.js
重新部署项目。

v9tzhpje

v9tzhpje2#

我也有同样的问题。我有我的下一个应用程序在一个子目录。我认为这可能是一些问题的原因。
对我有用的是。

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

vc9ivgsu3#

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

rks48beu

rks48beu4#

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

tzcvj98z

tzcvj98z5#

我的问题是,我首先尝试通过团队部署Vercel。当我在我的个人Vercel帐户下创建一个新的Vercel项目并部署相同的代码时,它工作了!我希望这能节省别人的时间,因为我刚刚失去了3个小时试图找到这个。我在用Next。js也是。
如果您尝试通过团队进行部署,则可能需要在vercel中配置团队ID。json first e.g的。

{
  "currentTeam": "team_ofwUZockJlL53hINUGCc1ONW"
}

参考: www.example.com

7ivaypg9

7ivaypg96#

我也有同样的问题。我的bug是这样的:无法解构“useReduxContext(...)'因为它是null
如果您使用的是redux,请确保您的商店提供的页面是/_app。js级别,不在pages/index中。js文件,像这样:

import { Provider } from 'react-redux';
import '../assert/css/master.scss';
import store from '../store/store';

export default function App({ Component, pageProps }) {
  return (
    <Provider store={store}>
      <Component {...pageProps} />
    </Provider>
  );
}

相关问题