首页 > 解决方案 > Firebase 文档中用于创建应用程序的不一致 (?)

问题描述

我使用 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>

但是,当我进入 Firebase 控制台时,我发现我应该在body调用任何 firebase 函数之前在我的 HTML 文件中执行此操作:

  // 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 existinitializeApp

我假设 CLI 做了一些我似乎找不到的设置...我检查了.firebasercandfirebase.json文件,但我看不到我将信息放在哪里,否则我会放在firebaseConfig变量中。

标签: javascriptfirebase

解决方案


当您包括以下内容时,会自动为您生成配置块:

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

如果您在该位置打开文件,您会看到它与firebaseConfig文档中的块非常相似。

唯一适用于 Firebase 托管,/__/firebase/init.js而不适用于其他托管服务提供商,这就是为什么您会看到更通用的 Firebase 文档具有明确的firebaseConfig块,而 CLI(知道您正在使用 Firebase 托管)生成/__/firebase/init.js脚本包括。

另请参阅有关此自动配置的 Firebase 文档。


推荐阅读