【问题标题】:Using gatsbyJS for site where contents update often将 gatsbyJS 用于内容经常更新的站点
【发布时间】:2020-02-24 02:48:37
【问题描述】:
我对在我的一个爱好项目中使用 gatsbyJS 很感兴趣。我已经阅读了一些关于它的内容,并且有一些关于它是否合适的快速问题。该项目有大约 30-50 条路线(包括 / 路线),其中每 15 或 30 分钟更新一次内容。目前我使用响应服务器端渲染页面并将它们发送回浏览器。
我读到 gatsbyJS 会生成站点的静态版本(并且不涉及节点服务器)。这是否意味着页面不会在服务端渲染,需要更新的内容基本上是在客户端渲染(从服务端获取数据后)?
gatsbyJS 是否适合内容经常变化的项目? gatsbyJS 能否用于基本提供相同的服务器端渲染体验?
【问题讨论】:
标签:
gatsby
server-side-rendering
【解决方案1】:
这是否意味着页面不会在服务器端渲染,需要更新的内容基本上是在客户端渲染(从服务器获取数据后)?
使用 Gatsby,页面在构建期间在服务器端呈现(生成包含数据的静态 html),然后在客户端“重新水化”。您可以选择每次有新数据(cron 作业、网络挂钩等)时重新构建页面或使用默认数据呈现页面,然后在客户端更新数据。
gatsbyJS 是否适合内容经常变化的项目? gatsbyJS 能否用于基本提供相同的服务器端渲染体验?
有可能!根据图像的处理方式+您选择的云构建器,构建您的站点可能需要几分钟、半小时或更长时间。对于经常更新的网站,这意味着用户可能会获得稍微过时的数据(尽管您仍然可以在客户端获取新数据以缓解这种情况。)
权衡是在客户端呈现的时间可能非常快,因为它是静态 html。此外,根据数据来源,您可能不必维护服务器(即,您的数据来自抓取或 3rd-party API,您可以抓取/获取数据,然后呈现 Gatsby 站点)。