Gatsby watchMode和overlayDrafts在S3静态网站上不工作



我有一个与Gatsby有关的项目,它的"构建"部署到AWS S3桶中,使用静态网站托管。

我的盖茨比项目正在使用Gatsby -source- Sanity插件,这是从Sanity获取数据。输入输出数据集。

在我的非生产阶段,我想有一个预览和watchMode上,所以我不会构建和部署应用程序的每一个变化。

gatsby-config.js:

{
resolve: "gatsby-source-sanity",
options: {
projectId: process.env.GATSBY_SANITY_PROJECT_ID,
dataset:
process.env.GATSBY_STAGE === "production" ||
process.env.GATSBY_STAGE === "master" ||
process.env.GATSBY_STAGE === "preview"
? "production"
: "dev",
token: process.env.SANITY_TOKEN,
overlayDrafts:
process.env.GATSBY_STAGE !== "production" &&
process.env.GATSBY_STAGE !== "master",
watchMode:
process.env.GATSBY_STAGE !== "production" &&
process.env.GATSBY_STAGE !== "master",
},
},

当我在本地主机上运行项目并在Sanity Documents中进行更改时,我立即获得更改,但我没有在部署版本上获得更改。

如何在S3桶上实现watchMode ?

您不能在生产环境中使用watchMode,因为站点已经构建完成。

gatsby develop环境中,Gatsby公开了一个web套接字,该套接字可以侦听来自源的数据变化,从而在开发模式下重新触发站点。然而,在gatsby build,中,你不能,因为静态页面已经构建。要触发数据源的新刷新,您需要触发一个新的部署。

这可以使用webhooks来完成,它将侦听数据更改以触发bucket中的新部署。

相关文章:

  • https://medium.com/technogise/auto-build-gatsby-application-using-custom-webhook-on-wordpress-c3c5f70ca005
  • https://support.gatsbyjs.com/hc/en-us/articles/360052324394-Build-and-Preview-Webhooks

相关内容

  • 没有找到相关文章

最新更新