我使用Next.js+Wordpress/Graphql作为无头CMS并部署到Vercel。
当在生产(vercel(上创建新帖子时,我得到了404——不是在本地或使用next build
时。奇怪的是,当我重新部署或向repo推送新版本时,它解决了问题,而vercel进行了新的构建。
我想这和增量静态再生有关吧?
我遇到了一个类似但略有不同的问题,以前的Wordpress服务器的响应是429 Too Many Request但是这是第一次构建的问题,因为生成了所有页面,因此发出了更多的请求。我已经切换到另一个似乎解决了这个问题的服务器,现在这个问题只发生在第一次构建之后(即根据请求增量重新生成页面时(。
以下是其中一个问题页面:https://github.com/garethfoote/blind-ditch/blob/master/pages/projects/%5Bslug%5D.js
我以为这可能是罪魁祸首,但我没有从控制台中获得任何远程日志
if (!router.isFallback && !project?.slug) {
console.re.log("404??", project);
return <ErrorPage statusCode={404} />;
}
我正在努力找出是什么导致了这种情况,以及如何在Vercel上进一步调试这种情况。非常感谢您的建议。
经过一番挖掘,我意识到我还没有完全理解getStaticPaths
中fallback
键的使用。
我认为ISR会在构建时生成getStaticPaths
的paths
对象中没有指定的新页面,但我知道fallback: true
或fallback: "blocking"
就是这样做的。
https://nextjs.org/docs/basic-features/data-fetching#fallback-真实