Javascript 动态站点再生GatsbyJS

Javascript 动态站点再生GatsbyJS,javascript,node.js,gatsby,Javascript,Node.js,Gatsby,我在GatsbyJS中有一个网站,通过React fetch在加载页面时获取大量动态数据。显示的数据需要半实时(例如,每5分钟刷新一次) 我想知道如何用它来实现SSR速度,因为动态抓取并不能减少它。是cron计划的重建吗?如果是,那么在替换生成文件夹时会发生什么?我认为cron计划的重建可能是最好的选择。你可能想看看盖茨比·克劳德。他们最近增加了增量构建,这意味着只有特定的页面才能重建。如果只需要重建页面的一个子集,就可以大大加快速度。我认为在替换构建文件夹的过程中会发生什么,取决于站点的宿主位

我在GatsbyJS中有一个网站,通过React fetch在加载页面时获取大量动态数据。显示的数据需要半实时(例如,每5分钟刷新一次)


我想知道如何用它来实现SSR速度,因为动态抓取并不能减少它。是cron计划的重建吗?如果是,那么在替换生成文件夹时会发生什么?

我认为cron计划的重建可能是最好的选择。你可能想看看盖茨比·克劳德。他们最近增加了增量构建,这意味着只有特定的页面才能重建。如果只需要重建页面的一个子集,就可以大大加快速度。我认为在替换构建文件夹的过程中会发生什么,取决于站点的宿主位置。一些托管服务,如Netlify,可能会使用某种URL交换,以立即用新的部署替换旧的部署。如果将其托管在常规VPS上,则在复制/重新生成文件时可能会出现一些不一致。除了新增的增量构建功能外,我认为您正在寻找的正是盖茨比的致命弱点。

您可以使用类似的服务。它们提供一个WebHook URL,在查询时触发构建。然后,您可以每隔5分钟让一个cron点击此URL以触发重建。Netlify为您处理构建,仅在构建成功时替换您的站点

如果你想自己做,你可以使用一个类似Netlify的Web服务器(只有在构建成功的情况下才更新站点)。注意:Caddy 2(当前版本)尚不支持此功能

另一个选项是,它也为您的用户构建站点,优雅地处理故障(您的站点始终处于运行状态,只有在构建成功时才会被替换)