#graphql #gatsby #contentful
Вопрос:
Я только что начал с Gatsby Contentful, используя их «Кнопку запуска» и начальное репо в git clone https://github.com/contentful/starter-gatsby-blog.git. Я знаком с React, но не очень хорошо знаком с GraphQL или Contentful.
Когда я вношу изменения в свой контент по адресу https://app.contentful.com/, я перезапускаю свой сервер ( npm run dev
), чтобы запросить эти изменения, но это занимает довольно много секунд.
Есть ли более быстрый способ повторить запрос GraphQL во время локальной разработки без необходимости перезагрузки моего сервера?
Ответ №1:
Гэтсби предоставляет переменную среды под названием ENABLE_GATSBY_REFRESH_ENDPOINT
. Если он установлен в true
значение , он предоставляет веб-крючок, в /__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/
Комментарии:
1. Спасибо! как ни странно, я уже принял чей-то ответ на этот вопрос (то же предложение, что и вы), но, похоже, они удалили it…so теперь очки ваши. тай 🙂