首页 > 解决方案 > 使用 firebase 创建 NextJS 应用程序 - firebase 在本地工作,但在 vercel 生产中失败

问题描述

我在 NextJs 本地使用 firebase,一切正常

.env.local

NEXT_PUBLIC_FIREBASE_API_KEY="xxxxxxx"
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN="yyyyyyy"
NEXT_PUBLIC_FIREBASE_DATABASE_URL="zzzzzzzz"
NEXT_PUBLIC_FIREBASE_PROJECT_ID="xxxxxxx"
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET="yyyyyyyy"
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID="zzzzzzzz"
NEXT_PUBLIC_FIREBASE_APP_ID="xxxxxxxx"

客户端应用程序.js

import firebase from "firebase/app";
import "firebase/database";

const clientCredentials = {
  apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY,
  authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN,
  databaseURL: process.env.NEXT_PUBLIC_FIREBASE_DATABASE_URL,
  projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID,
  storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET,
  messagingSenderId: process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID,
  appId: process.env.NEXT_PUBLIC_FIREBASE_APP_ID,
};

if (!firebase.apps.length) {
  firebase.initializeApp(clientCredentials);
}

export default firebase;

但是,当我通过 Vercel 进行部署时,我会收到以下控制台错误:

@firebase/database: FIREBASE FATAL ERROR: Can't determine Firebase Database URL. Be sure to include  a Project ID when calling firebase.initializeApp(). 

Error: FIREBASE FATAL ERROR: Can't determine Firebase Database URL. Be sure to include  a Project ID when calling firebase.initializeApp(). 

有没有人遇到过类似的错误?

标签: reactjsfirebasefirebase-realtime-databasenext.js

解决方案


为避免所有麻烦,只需.env在项目目录中创建一个文件并添加所有凭据。还在文件.firebaserc文件中检查内容是否像这样,

{
  "projects": {
    "default": "your firebase project ID",
    "webapp": "your firebase project ID"
  }
}

如果您还有任何问题,请查看此https://github.com/vercel/next.js/discussions/14420#discussioncomment-29816


推荐阅读