Несоответствие (?) В документации Firebase для создания приложений - PullRequest
1 голос
/ 30 марта 2020

Я использовал Firebase CLI для создания своего приложения, я использовал firebase init, и он создал индекс и все что угодно для меня со всеми этими сценариями в голове:

<!-- update the version number as needed -->
<script defer src="/__/firebase/7.8.2/firebase-app.js"></script>
<!-- include only the Firebase features as you need -->
<script defer src="/__/firebase/7.8.2/firebase-storage.js"></script>
<script defer src="/__/firebase/7.8.2/firebase-auth.js"></script>
<script defer src="/__/firebase/7.8.2/firebase-firestore.js"></script>
<script defer src="/__/firebase/7.8.2/firebase-storage.js"></script>
<!-- initialize the SDK after all desired features are loaded -->
<script defer src="/__/firebase/init.js"></script>

Однако, когда я go на консоль Firebase Я вижу, что должен сделать это в body моего HTML файла перед тем, как вызывать любые функции firebase:

  // Set the configuration for your app
  // TODO: Replace with your app's config object
  var firebaseConfig = {
    apiKey: '<your-api-key>',
    authDomain: '<your-auth-domain>',
    databaseURL: '<your-database-url>',
    storageBucket: '<your-storage-bucket-url>'
  };
  firebase.initializeApp(firebaseConfig);

  // Get a reference to the storage service, which is used to create references in your storage bucket
  var storage = firebase.storage();

У меня этого нет нигде в моем коде, но я все еще могу получить доступ к firebase.firestore.Firestore и получить доступ к своей базе данных без проблем. У меня проблема с доступом к firebase.storage.Storage. Я получаю ошибку Firebase App named '[DEFAULT'] already exists или does not exist, независимо от того, делаю я шаг initializeApp.

Я предполагаю, что CLI выполнил некоторую настройку, которую я не могу найти ... Я проверил .firebaserc и firebase.json, но я не вижу, куда поместить информацию, которую в противном случае поместил бы в переменную firebaseConfig.

1 Ответ

2 голосов
/ 30 марта 2020

Блок конфигурации автоматически генерируется для вас, когда вы включаете:

<script defer src="/__/firebase/init.js"></script>

Если вы откроете файл в этом месте, вы увидите, что он очень похож на блок firebaseConfig в документации .

/__/firebase/init.js работает только на хостинге Firebase, а не на других хостинг-провайдерах, поэтому вы увидите, что более общая документация c Firebase имеет явно firebaseConfig блок, тогда как CLI (который знает, что вы используете Firebase Hosting) генерирует сценарий /__/firebase/init.js include.

Также см. документацию Firebase по этой автоматической конфигурации .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...