Вы ищете переменные среды. У Gatsby есть куча из них, зарезервированных для того, чтобы делать то, что вам нужно (и даже больше).
Gatsby предоставляет /__refresh
webhook, который может получать POST-запросы для обновления sh исходного контента. Этот открытый веб-крючок может запускаться всякий раз, когда изменяются удаленные данные, что означает, что вы можете обновить свои данные, не перезапуская сервер разработки.
Прежде всего вам необходимо разрешить Gatsby использовать переменные среды, добавив этот фрагмент в ваш gatsby-config.js
(приведенный выше экспорт модуля):
require("dotenv").config({
path: `.env.${process.env.NODE_ENV}`,
})
Затем вам нужно установить true
зарезервированную переменную среды, о которой я упоминал ранее (ENABLE_GATSBY_REFRESH_ENDPOINT
), добавив в develop
команда, в вашей package.json
,
"scripts": {
"develop": "ENABLE_GATSBY_REFRESH_ENDPOINT=true gatsby develop",
}
Теперь ваши изменения синхронизируются с помощью /__refresh
. В соответствии с их документами:
Вы можете запустить эту конечную точку локально, например, в операционных системах на основе Unix (таких как Ubuntu и MacOS), используя curl -X POST http://localhost:8000/__refresh
.
Дополнительную информацию можно найти в их документах .