如何触发nextjs默认500错误页面

Dan*_*Dan 11 javascript next.js

我无法触发 Next.js 的 500 错误页面。大多数资源都讨论如何创建自定义错误页面,但 Next.js 文档简要提到了其默认的 500 错误页面。我想在 API 响应 500 状态时触发此默认页面。

给定 API 响应 500 Next.js 应显示 500 错误页面。到目前为止,它返回到发出请求的页面。

return res.status(500).end();
Run Code Online (Sandbox Code Playgroud)

Ion*_*che 9

我发现的唯一解决方案是抛出未处理的错误getServerSideProps

res.statusCode = 500;
throw new Error('Internal Server Error');
Run Code Online (Sandbox Code Playgroud)

我看到 NextJs 将其处理为 500 状态代码,但仅限于生产/登台环境。npm run dev将不起作用,并且您将无法看到默认的 500 页。

我需要抛出 500 状态代码以防止 Google 对我的页面取消索引,因为页面内容发生了重大变化,并且该页面上的产品不再可用。


Son*_*yen 5

按照官方文档pages/500.ts中所述定义自定义 500 页面后,我可以通过 url 路径访问此页面。/500