Gatsby / Wordpress - учетные данные .env не работают

Я работаю с плагином gatsby-source-wordpress.

Если я жестко закодирую свои ключи / секреты API в свой Gatsby.config, все будет работать нормально, но я хочу добавить их как переменные .env, чтобы я мог .gitignore для развертывания, и именно здесь что-то ломается.

В корне моего каталога у меня есть файл .env, который выглядит так

CLIENT_SECRET=10987654321
CLIENT_ID=123456
[email protected]
PASS=mypassword1

Затем я пытаюсь получить к ним доступ в gatsby.config, вот так

require('dotenv').config({
path: `.env.${process.env.NODE_ENV}`
  });

    module.exports = {
      siteMetadata: {
        title: 'Gatsby Default Starter',
       },
      plugins: [
        {
          resolve: 'gatsby-source-wordpress',
           options: {
            baseUrl: 'myurl.com',
            protocol: 'http',
            hostingWPCOM: true,
            useACF: false,
            auth: {
              wpcom_app_clientSecret: `${process.env.CLIENT_SECRET}`,
              wpcom_app_clientId: `${process.env.CLIENT_ID}`,
              wpcom_user: `${process.env.USER}`,
              wpcom_pass: `${process.env.PASS}`,
           },
          },
         },
        {
         resolve: `gatsby-plugin-emotion`,
        },
        'gatsby-plugin-react-helmet',
        {
          resolve: `gatsby-plugin-manifest`,
          options: {
            name: 'gatsby-starter-default',
            short_name: 'starter',
            start_url: '/',
            background_color: '#663399',
            theme_color: '#663399',
            display: 'minimal-ui',
            icon: 'src/images/gatsby-icon.png', // This path is 
    relative to the root of the site.
        },
       },
        'gatsby-plugin-offline',
      ],
    }

который возвращает следующие ошибки, когда я запускаю либо gatsby development, либо gatsby build.

  • Узлы источника и преобразования: ответ сервера: "400 Bad Request"

  • Узлы источника и преобразования Ответ сервера был «403 запрещено». Внутреннее сообщение об исключении: «Пользователь не может получить доступ к этому частному блогу». Нет маршрутов для получения. Окончание.

Итак, проблема в том, что переменные .env, похоже, не работают должным образом, но я не вижу причины, по которой они не работают? Я что-то упустил при настройке?


person Muskett    schedule 08.10.2018    source источник


Ответы (1)


Гэтсби не знает, какой плагин вы имеете в виду (см. Как использовать), и ваш общий синтаксис неверен. Например, plugins - это массив.

module.exports = {
  plugins: [
    {
      resolve: "gatsby-source-wordpress",
      options: {
        auth: {
          wpcom_app_clientSecret: process.env.CLIENT_SECRET,
          wpcom_app_clientId: process.env.CLIENT_ID,
          wpcom_user: process.env.USER,
          wpcom_pass: process.env.PASS,
        }
      }
    }
  ]
}

Это должно работать, если вы также определите другие необходимые поля, упомянутые в README.

person LekoArts    schedule 08.10.2018
comment
К сожалению, нет, я все еще получаю ту же ошибку с этим - person Muskett; 08.10.2018
comment
Спасибо за правки и помощь - к сожалению, это не решение. Я был ленив в своем исходном сообщении и пытался не копировать весь файл gatsby-config, который, как я понимаю, был глупым из-за того, что именно здесь произошло, извините! Я отредактировал свой исходный пост - person Muskett; 08.10.2018
comment
Как называется ваш файл .env? Чтобы использовать его с gatsby develop, вам нужно назвать его .env.development - person LekoArts; 09.10.2018
comment
Я попытался назвать его .env и .env.development и получил одну и ту же ошибку на каждом - person Muskett; 10.10.2018