Как включить флаг для GATSBY_CONTENTFUL_OFFLINE = true? - PullRequest
0 голосов
/ 01 марта 2019

Как включить GATSBY_CONTENTFUL_OFFLINE=true в GatsbyJS для доступа к контенту в автономном режиме?

Документация предлагает export GATSBY_CONTENTFUL_OFFLINE=true.Я попытался добавить его в конфигурации, но все равно он не работает.Может кто-нибудь сказать мне, где добавить этот экспорт или еще, если функциональность действительно работает?

Ответы [ 2 ]

0 голосов
/ 03 марта 2019

Вы бы использовали export … в вашем .bashrc или подобном.Вы экспортируете объявление переменной из сценария оболочки в сеанс оболочки, делая его доступным в качестве переменной среды.Это избавляет вас от необходимости объявлять переменную при каждом вызове gatsby [command].

Вы также можете использовать .env.development для объявления этого значения (без export), и Гэтсби его подберет, или вы можете использовать .env с настроенным пакетом dotenv.

0 голосов
/ 01 марта 2019

Это работает, но:

  • Вы должны быть на самом деле в автономном режиме
  • NODE_ENV не production (иначе не gatsby build)

Смотрите реализацию здесь

Так что я думаю, что это просто удобный флаг, который позволит вам разрабатывать без подключения к интернету.Я не уверен, что означает документ export ..., но поскольку они проверяют process.env.GATSBY_CONTENTFUL_OFFLINE, вы можете установить его, добавив его к любой команде, которую вы запускаете в терминале (игнорируйте $):

$ gatsby develop
# GATSBY_CONTENTFUL_OFFLINE is undefined

$ GATSBY_CONTENTFUL_OFFLINE=true gatsby develop
# GATSBY_CONTENTFUL_OFFLINE is true

$ GATSBY_CONTENTFUL_OFFLINE=true gatsby build
# GATSBY_CONTENTFUL_OFFLINE is true, but contenful doesn't care
# because NODE_ENV is always set to `production`

При этом (после выключения вашей сети) вы должны увидеть это в консоли:

Использование Contentful Offline cache ⚠️

Кэш можетбыть недействительным, если вы редактируете файлы package.json, gatsby-node.js или gatsby-config.js

...