我使用 Next.js + Wordpress/Graphql 作为无头 CMS 并部署到 Vercel。
在生产 (vercel) 上创建新帖子时,我收到 404 - 不是在本地发生,也不是在使用 next build
时发生。奇怪的是,当我重新部署或将新版本推送到 repo 并且 vercel 重新构建时,它解决了问题。
我猜这与Incremental Static Regeneration有关吗?
我在以前的 Wordpress 服务器上遇到了类似但略有不同的问题,该服务器响应 429 Too Many Requests。 但是当所有页面都生成时,这是第一次构建的问题,因此发出了更多请求。我已切换到另一台似乎可以解决问题的服务器,现在问题仅在第一次构建后出现(即根据请求逐步重新生成页面时)。
这是问题页面之一: https://github.com/garethfoote/blind-ditch/blob/master/pages/projects/%5Bslug%5D.js
认为这可能是罪魁祸首,但我没有从 console.re 中获得任何远程日志:
if (!router.isFallback && !project?.slug) {
console.re.log("404??", project);
return <ErrorPage statusCode={404} />;
}
我正在努力找出导致此问题的原因,以及如何在 Vercel 上进一步调试此问题。感谢您的建议。
答案 0 :(得分:0)
经过一番探索之后,我意识到我还没有完全理解 fallback
中 getStaticPaths
键的用法。
我认为 ISR 会在构建时生成未在 paths
的 getStaticPaths
对象中指定的新页面,但我知道这就是 fallback: true
或 fallback: "blocking"
https://nextjs.org/docs/basic-features/data-fetching#fallback-true