Javascript Firebase模拟器对本地FireStore的请求失败 Firebase模拟器对本地FireStore的请求失败

Javascript Firebase模拟器对本地FireStore的请求失败 Firebase模拟器对本地FireStore的请求失败,javascript,firebase,firebase-cli,Javascript,Firebase,Firebase Cli,你好, 我正在尝试设置Firebase模拟器,我的应用程序仍在连接到Firebase(web)。当我执行db.collection(“users”).add()时,我看到的条目是on not onhttp://localhost:4000/firestore (主机端口为8080,查看器端口为4000) 以下是我迄今为止所做的工作: Firebase模拟器:开始返回“所有模拟器都准备好了!” Firebase.json看起来不错(端口看起来不错) 在初始化应用程序之前,我将databaseU

你好,

我正在尝试设置Firebase模拟器,我的应用程序仍在连接到Firebase(web)。当我执行db.collection(“users”).add()时,我看到的条目是on not onhttp://localhost:4000/firestore (主机端口为8080,查看器端口为4000)

以下是我迄今为止所做的工作:

  • Firebase模拟器:开始返回“所有模拟器都准备好了!”

  • Firebase.json看起来不错(端口看起来不错)

  • 在初始化应用程序之前,我将databaseURL更改为本地firestore。 请注意,在视频“15分钟内的本地Firebase Emulator UI”(5:19)中,David East将整个配置对象替换为“config={databaseURL:'…''}”,但它返回此错误:“未捕获的FirebaseError:“projectId”未在Firebase.initializeApp中提供”,如果我添加值键projectId,它将返回丢失的其他错误
  • Firebase使用良好的项目()
  • 我还创建了谷歌云平台私钥。。。以防万一
  • 我想我的问题可能在第三步,但我找不到如何解决它。你知道吗?你怎么做才能让它工作


    谢谢大家!

    您已经完成了大部分工作,但我认为自视频制作以来,连接到本地数据库模拟器的方法已经发生了变化

    我已使用以下方式成功连接到本地db emulator:

    if (!firebase.apps.length) {
      let config = {
        apiKey: "-------------------",
        authDomain: "--------------",
        databaseURL: "------------------",
        projectId: "----------------",
        storageBucket: "---------------------",
        messagingSenderId: "--------------",
        appId: "----------------------",
        measurementId: "-----------------"
      };
    
      firebase.initializeApp(config);
    
      if (location.hostname === "localhost") {
        var db = firebase.firestore();
        db.settings({
          host: "localhost:8080",
          ssl: false
        });
      }
    }
    
    联机连接的原始配置保持不变,但如果location.hostname==“localhost”,则会相应地进行更改

    firebase.initializeApp(config)需要位于检测应用程序本地运行的if语句之上

    幸运的是,应用程序继续使用在线身份验证,并且数据库和功能连接是本地的


    最新的文档在这里:

    您已经完成了大部分工作,但我认为自视频制作以来,连接到本地数据库模拟器的方法已经改变

    我已使用以下方式成功连接到本地db emulator:

    if (!firebase.apps.length) {
      let config = {
        apiKey: "-------------------",
        authDomain: "--------------",
        databaseURL: "------------------",
        projectId: "----------------",
        storageBucket: "---------------------",
        messagingSenderId: "--------------",
        appId: "----------------------",
        measurementId: "-----------------"
      };
    
      firebase.initializeApp(config);
    
      if (location.hostname === "localhost") {
        var db = firebase.firestore();
        db.settings({
          host: "localhost:8080",
          ssl: false
        });
      }
    }
    
    联机连接的原始配置保持不变,但如果location.hostname==“localhost”,则会相应地进行更改

    firebase.initializeApp(config)需要位于检测应用程序本地运行的if语句之上

    幸运的是,应用程序继续使用在线身份验证,并且数据库和功能连接是本地的


    最新文档在这里:

    @DougStevenson感谢您纠正拼写错误。我在同一视频后有完全相同的问题。@DougStevenson感谢您纠正拼写错误。我在同一视频后有完全相同的问题。
    firebase use project_name
    
    if (!firebase.apps.length) {
      let config = {
        apiKey: "-------------------",
        authDomain: "--------------",
        databaseURL: "------------------",
        projectId: "----------------",
        storageBucket: "---------------------",
        messagingSenderId: "--------------",
        appId: "----------------------",
        measurementId: "-----------------"
      };
    
      firebase.initializeApp(config);
    
      if (location.hostname === "localhost") {
        var db = firebase.firestore();
        db.settings({
          host: "localhost:8080",
          ssl: false
        });
      }
    }