Я не могу подключиться к Contentful с Гэтсби - PullRequest
1 голос
/ 30 апреля 2020

Когда я пытаюсь подключиться к Contentful с Gatsby, я получаю это сообщение об ошибке:

Starting to fetch data from Contentful
info Fetching default locale

 ERROR 

Accessing your Contentful space failed.
Try setting GATSBY_CONTENTFUL_OFFLINE=true to see if we can serve from cache.

Used options:
spaceId: "*******ed"
accessToken: "*******ed"
host (default value): "cdn.contentful.com"
environment (default value): "master"
downloadLocal (default value): false
localeFilter (default value): [Function]
forceFullSync (default value): false
pageLimit (default value): 100
useNameForId (default value): true

not finished source and transform nodes - 0.320s

Мой код в gatsby-config. js:

module.exports = {

  siteMetadata: {
    title: `Gatsby`,
    siteUrl: `http://localhost8000`,
    author: '****',
  },
  plugins: [
    {
      resolve: `gatsby-source-contentful`,
      options: {
        spaceId: ${`process.env.CONTENTFUL_SPACE_ID`},
        accessToken: ${`process.env.CONTENTFUL_ACCESS_TOKEN`},
        // My code only works with this syntax ${`...`}
      }
    },
  ]
}

Я видел Brent Arias ответ на этой странице: Не удалось получить доступ к вашему содержательному пространству с помощью gatsby-source-contentful . Он перезаписывает и создает контентное пространство и локально перезапускает стартовый скрипт "rg-portfolio", который изначально содержит контентную конфигурацию. Это также относится к файлу «contentful-data. json» в стартере.

Я использую стартер «hello world», поэтому я сам добавил плагин gatsby-source-contentful, и он не стал t создать файл «contentful-data. json», и я ничего не вижу в этом файле json в документации к плагину . Я удалил и заново создал свое содержательное пространство, затем переустановил плагин, но он все еще не работает ...

Есть идеи?

1 Ответ

0 голосов
/ 06 мая 2020

Я заметил проблему в том, как вы делаете строковые литералы.

Измените это:

spaceId: ${`process.env.CONTENTFUL_SPACE_ID`},
accessToken: ${`process.env.CONTENTFUL_ACCESS_TOKEN`},

В это ( рекомендуется ):

spaceId: process.env.CONTENTFUL_SPACE_ID,
accessToken: process.env.CONTENTFUL_ACCESS_TOKEN,

Или это:

spaceId: `${process.env.CONTENTFUL_SPACE_ID}`,
accessToken: `${process.env.CONTENTFUL_ACCESS_TOKEN}`,
...