Gatsby + Contentful - 如何在不重新启动服务器的情况下在本地重做 GraphQL 查询(npm run dev)?

Posted

技术标签:

【中文标题】Gatsby + Contentful - 如何在不重新启动服务器的情况下在本地重做 GraphQL 查询(npm run dev)?【英文标题】:Gatsby + Contentful - how do I redo GraphQL query locally without restarting my server (npm run dev)? 【发布时间】:2021-08-23 06:07:12 【问题描述】:

我刚刚开始使用 Gatsby + Contentful,使用他们的“启动入职按钮”和 git clone https://github.com/contentful/starter-gatsby-blog.git 的启动器存储库。我熟悉 React,但不太熟悉 GraphQL 或 Contentful。

当我在 https://app.contentful.com/ 对我的内容进行编辑时,我会重新启动我的服务器 (npm run dev) 以查询这些更改,但这需要几秒钟的时间。

有没有更快的方法在本地开发期间重做 GraphQL 查询,而无需重新启动我的服务器?

【问题讨论】:

【参考方案1】:

Gatsby 公开了一个名为 ENABLE_GATSBY_REFRESH_ENDPOINT 的环境变量。如果设置为true,它会在/__refresh 下公开一个webhook,可以接收POST 请求以刷新源内容。

所以基本上,如果您将运行命令更改为:

"develop": "ENABLE_GATSBY_REFRESH_ENDPOINT=true gatsby develop",

您可以在本地触发http://localhost:8000/__refresh 来刷新您的内容。或者,对于更自动化的方式,您可以创建如下命令:

"refresh": "curl -X POST http://localhost:8000/__refresh"

您可以在https://www.gatsbyjs.com/docs/refreshing-content/查看更多详细信息

【讨论】:

谢谢!奇怪的是,我已经接受了其他人对此 q 的回答(与您的建议相同),但似乎他们已将其删除……所以现在积分是您的。 ty :)

以上是关于Gatsby + Contentful - 如何在不重新启动服务器的情况下在本地重做 GraphQL 查询(npm run dev)?的主要内容,如果未能解决你的问题,请参考以下文章

Gatsby + contentful + Netlify 的私人/登录部分

如何选择性地查询 gatsby Contentful Rich Text 中的引用?

Gatsby 博客与 Contentful CMS,如何按日期对博客文章进行排序

使用 Gatsby/Contentful 从 Graphql 获取参考数据

在 Gatsby V4 中使用 Gatsby Source Contentful 找不到缓存文件

将 Gatsby + Contentful 网站部署到 Netlify