# #reactjs #firebase #github-actions #firebase-hosting #react-typescript
Вопрос:
У меня есть вопрос. Кто-нибудь знает, почему при развертывании на канале предварительного просмотра 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 amp;amp; yarn lint amp;amp; yarn test amp;amp; 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 = (() =gt; { 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 = () =gt; initializeApp(firebaseConfig, appName); return { getInstance: () =gt; { if (!instance) { instance = createInstance(); } return instance; }, deleteInstance: () =gt; { deleteApp(instance); }, }; })(); export default Firebase;
And this is the /__/firebase/init.js
(which I checked has the correct 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" });
Заранее спасибо! 😀