# #firebase #next.js #vercel
#огневая база #next.js #vercel
Вопрос:
Это дало мне эту стену ошибок во время сборки:
(node:748) UnhandledPromiseRejectionWarning: FirebaseError: Firebase: Error (auth/invalid-api-key). at createErrorInternal (file:///vercel/path0/node_modules/@firebase/auth/dist/node-esm/index-c327074d.js:466:40) at _assert (file:///vercel/path0/node_modules/@firebase/auth/dist/node-esm/index-c327074d.js:470:15) at file:///vercel/path0/node_modules/@firebase/auth/dist/node-esm/index-c327074d.js:5913:13 at Component.instanceFactory (file:///vercel/path0/node_modules/@firebase/auth/dist/node-esm/index-c327074d.js:5930:11) at Provider.getOrInitializeService (file:///vercel/path0/node_modules/@firebase/component/dist/esm/index.esm2017.js:290:39) at Provider.initialize (file:///vercel/path0/node_modules/@firebase/component/dist/esm/index.esm2017.js:234:31) at initializeAuth (file:///vercel/path0/node_modules/@firebase/auth/dist/node-esm/index-c327074d.js:584:27) at getAuth (file:///vercel/path0/node_modules/@firebase/auth/dist/node-esm/index-c327074d.js:5979:12) at /vercel/path0/.next/server/chunks/190.js:32:68 (Use `node --trace-warnings ...` to show where the warning was created) (node:748) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 13) (node:748) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. gt; Build error occurred Error [FirebaseError]: Firebase: Error (auth/invalid-api-key). at createErrorInternal (file:///vercel/path0/node_modules/@firebase/auth/dist/node-esm/index-c327074d.js:466:40) at _assert (file:///vercel/path0/node_modules/@firebase/auth/dist/node-esm/index-c327074d.js:470:15) at file:///vercel/path0/node_modules/@firebase/auth/dist/node-esm/index-c327074d.js:5913:13 at Component.instanceFactory (file:///vercel/path0/node_modules/@firebase/auth/dist/node-esm/index-c327074d.js:5930:11) at Provider.getOrInitializeService (file:///vercel/path0/node_modules/@firebase/component/dist/esm/index.esm2017.js:290:39) at Provider.initialize (file:///vercel/path0/node_modules/@firebase/component/dist/esm/index.esm2017.js:234:31) at initializeAuth (file:///vercel/path0/node_modules/@firebase/auth/dist/node-esm/index-c327074d.js:584:27) at getAuth (file:///vercel/path0/node_modules/@firebase/auth/dist/node-esm/index-c327074d.js:5979:12) at /vercel/path0/.next/server/chunks/190.js:32:68 {
Честно говоря, я понятия не имею, на что смотрю. Может ли кто-нибудь помочь мне сузить круг возможных проблем? Почему ключ API недействителен, если он нормально работает локально?
Комментарии:
1. Это зависит от того, будет ли ваше следующее использование статическим или SSR?
2. Мое следующее приложение полностью статически сгенерировано.
Ответ №1:
Я думаю, что наиболее распространенным решением в этой ситуации является создание 2 файлов. Первый файл -. env с ключами. Тогда ‘firebase.config.js’:
export const firebaseConfig = { apiKey: process.env.FIREBASE_API_KEY, authDomain: process.env.FIREBASE_AUTH_DOMAIN, projectId: process.env.FIREBASE_PROJECT_ID, storageBucket: process.env.FIREBASE_STORAGE_BUCKET, messagingSenderId: process.env.FIREBASE_MESSAGING_SENDER_ID, appId: process.env.FIREBASE_APP_ID, };
Наконец, импортируйте и вставьте объект в firebase:
import { firebaseConfig } from './firebase.config'; firebase.initializeApp(firebaseConfig);
Комментарии:
1. У меня была «Конфигурация firebaseConfig» в основном файле «firebase.tsx». Я разделил конфигурацию на файл «firebase.config.tsx» и импортировал его в основной файл firebase в соответствии с вашей рекомендацией, но, к сожалению, это не решило проблему. Появляется та же самая точная ошибка. 🙁
Ответ №2:
Оказывается, мне просто нужно было добавить переменные среды в Vercel. Ой.