首页 > 解决方案 > FirebaseError:安装:缺少应用配置值:“projectId”(安装/缺少应用配置值)

问题描述

我有个问题。当我在 Firebase 预览频道(目前处于测试阶段)上部署时,有谁知道该网站只显示一个空白屏幕,并且在控制台上出现以下错误:

FirebaseError: Installations: Missing App configuration value: "projectId" (installations/missing-app-config-values).
    at Pe (extract-app-config.ts:54)
    at extract-app-config.ts:41
    at e.Ne [as instanceFactory] (config.ts:38)
    at e.getOrInitializeService (provider.ts:318)
    at e.getImmediate (provider.ts:115)
    at e.Ae [as instanceFactory] (config.ts:55)
    at e.getOrInitializeService (provider.ts:318)
    at e.getImmediate (provider.ts:115)
    at e.instanceFactory (index.ts:55)
    at e.getOrInitializeService (provider.ts:318)

该应用程序在本地和 Firebase 托管模拟器上运行良好,但由于某种原因在 Firebase 预览频道上它不起作用。

这是我的 Github 工作流程:

name: Deploy to Firebase Hosting on PR
'on': 
  pull_request:
    branches:
      - main
jobs:
  build_and_preview:
    if: '${{ github.event.pull_request.head.repo.full_name == github.repository }}'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - run: yarn install && yarn lint && yarn test && yarn build
      - uses: FirebaseExtended/action-hosting-deploy@v0
        with:
          repoToken: '${{ secrets.GITHUB_TOKEN }}'
          firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_PROJECT }}'
          projectId: projectID

Firebase.ts

import { FirebaseApp, initializeApp, deleteApp } from "firebase/app";

const Firebase = (() => {
  let instance: FirebaseApp;
  const appName = "...";
  const firebaseConfig = {
    apiKey: process.env.REACT_APP_API_KEY,
    authDomain: process.env.REACT_APP_AUTH_DOMAIN,
    databaseURL: process.env.REACT_APP_DATABASE_URL,
    projectId: process.env.REACT_APP_PROJECT_ID,
    storageBucket: process.env.REACT_APP_STORAGE_BUCKET,
    messagingSenderId: process.env.REACT_APP_MESSAGING_SENDER_ID,
    appId: process.env.REACT_APP_FIREBASE_APP_ID,
    // For Firebase JS SDK v7.20.0 and later, measurementId is optional
    measurementId: process.env.REACT_APP_MEASUREMENT_ID,
  };

  const createInstance = () => initializeApp(firebaseConfig, appName);

  return {
    getInstance: () => {
      if (!instance) {
        instance = createInstance();
      }

      return instance;
    },
    deleteInstance: () => {
      deleteApp(instance);
    },
  };
})();

export default Firebase;

这是/__/firebase/init.js(我检查了正确的projectId

if (typeof firebase === 'undefined') throw new Error('hosting/init-error: Firebase SDK not detected. You must include it before /__/firebase/init.js');
firebase.initializeApp({
  "apiKey": "AIza...c",
  "appId": "xxxx",
  "authDomain": "projectID.firebaseapp.com",
  "databaseURL": "https://projectID.firebaseio.com",
  "measurementId": "xxxx",
  "messagingSenderId": "xxxx",
  "projectId": "projectID",
  "storageBucket": "xxxx.com"
});

提前致谢!:D

标签: reactjsfirebasegithub-actionsfirebase-hostingreact-typescript

解决方案


推荐阅读