Мое приложение Gatsby, размещенное на Netlify, выдает ошибку, касающуюся моей конфигурации Firebase.
Каков правильный синтаксис для ввода моего приложения в Firebase через Netlify и Gatsby?
Моя конфигурация находится в верхней части моего src / components / Firebase / firebase.js:
const config = {
apiKey: process.env.API_KEY,
authDomain: process.env.AUTH_DOMAIN,
databaseURL: process.env.DATABASE_URL,
projectId: process.env.PROJECT_ID,
storageBucket: process.env.STORAGE_BUCKET,
messagingSenderId: process.env.MESSAGING_SENDER_ID
};
Локально, вверху моего gatsby-config.js:
require("dotenv").config({
path: `.env.${process.env.NODE_ENV}`,
})
В Github я опускаю оператор require в моем gatsby-config.js, потому что у Netlify есть его копия.
Тем не менее, я получаю ошибку как локальную, так и Netlify:
Uncaught (in promise) code: "auth/invalid-api-key"
message: "Your API key is invalid, please check you have copied it
correctly.
Да, я проверил, мои env vars в порядке ..
Я думал, что это будет просто. Мое приложение должно иметь доступ к данным конфигурации на основе того факта, что у Netlify есть копия.
Играя вокруг, я увидел, что приложение yy работает локально и на Netlify, если я передаю конфиденциальную конфигурацию firebase напрямую через firebase.js. Но, очевидно, нет-нет.
Кто-нибудь еще испытывает аналогичные результаты при запуске аналогичной установки?





OS Env Vars which are prefixed with GATSBY_ will become available in browser JavaScript.
Гэтсби требует, чтобы вы использовали следующий синтаксис для доступа к переменные среды на стороне клиента. Измените их в своем коде и в консоли приложения Netlify.
const config = {
apiKey: process.env.GATSBY_API_KEY,
authDomain: process.env.GATSBY_AUTH_DOMAIN,
databaseURL: process.env.GATSBY_DATABASE_URL,
projectId: process.env.GATSBY_PROJECT_ID,
storageBucket: process.env.GATSBY_STORAGE_BUCKET,
messagingSenderId: process.env.GATSBY_MESSAGING_SENDER_ID
};
Примечание:Насколько безопасно открывать публичный доступ к Firebase apiKey?
Спасибо, парни! Это сработало. Мне нужен был require ("dotenv") .. в gatsby-config.js, а в моем .env я использовал префикс GATSBY_.
Для всех, кто использует приложение create-response-app, добавлен префикс REACT_APP_ к вашим переменным env, добавлен их в переменные среды сборки Netlify в настройках и развернут на сайте Netlify, но все еще виден
Uncaught (in promise) code: "auth/invalid-api-key", message: "Your API key is invalid, please check you have copied it correctly.
Мой случай был разрешен простым повторным развертыванием приложения на Netlify.