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 获取参考数据