我想在Vercel之外部署下一个项目,我很困惑cache是如何工作的。当为启用ISR的页面访问url时,我可以确认在重新验证期尚未结束之前实际上没有访问db,但是
第一个问题:生成的页面似乎存在于. .next/server/pages/mypage.html (和mypage.json)中,但是当在请求页面的url后检查devtools时,我只能看到多个请求到. .next/static/*和. .next/static/chunks/pages/*,这似乎是在构建时生成的文件,在访问数据库时对ISR重新生成的内容一无所知,我找不到任何与..next/server/ page有关的请求。有人能解释一下吗?
第二个问题:如果它是从. .next/server访问的,那么是否可以通过CDN缓存,因为NextJS的docs建议仅仅是为了在CDN上承载..next/静态?
文件上传到给定CDN的确切配置将取决于您选择的CDN。您需要在CDN上托管的唯一文件夹是.next/static/的内容,它应该像上面的URL请求所指示的那样上传为_next/static/。不要上传其余的. .next/文件夹,因为您不应该向公众公开您的服务器代码和其他配置。
https://nextjs.org/docs/api-reference/next.config.js/cdn-support-with-asset-prefix
提前谢谢。
发布于 2022-01-05 17:16:47
在我的理解中,服务没有触及NextJS应用程序的前端,而是指向它自己的内部缓存,从而挫败了ISG的设置。
考虑以下流程:
./server文件夹,生成./server中的当前页面。H 210G 211指向应用程序的前端,而不是/server文件夹中的临时存储,然后使用它来维护ISG。当然,这不适用于承载JS的/public或/static文件夹,您可以通过CDN进行前端操作。
https://stackoverflow.com/questions/70579362
复制相似问题