首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nextjs在使用ISR时是否读取缓存表单..next/server/pages?是否可以从CDN为其提供服务?

问Nextjs在使用ISR时是否读取缓存表单..next/server/pages?是否可以从CDN为其提供服务?
EN

Stack Overflow用户
提问于 2022-01-04 13:10:38
回答 1查看 99关注 0票数 0

我想在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

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-01-05 17:16:47

在我的理解中,服务没有触及NextJS应用程序的前端,而是指向它自己的内部缓存,从而挫败了ISG的设置。

考虑以下流程:

  1. 您的CDN使用
  2. 生成的页面访问./server文件夹,生成
  3. CMS,并且您的CDN没有连接到接收NextJS更新
  4. 下一次使用并使用相应的更新更新./server中的当前页面。
  5. 您的CDN无法知道,除非您在CDN到期时间设置为应用时提前进行了60年代的更新。H 210G 211

指向应用程序的前端,而不是/server文件夹中的临时存储,然后使用它来维护ISG。当然,这不适用于承载JS的/public或/static文件夹,您可以通过CDN进行前端操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70579362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档