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

问题描述

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

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

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

标签: graphqlgatsbycontentful

解决方案


Gatsby 公开了一个名为ENABLE_GATSBY_REFRESH_ENDPOINT. 如果它设置为true,它会在下面公开一个 webhook /__refresh,可以接收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/查看更多详细信息


推荐阅读