【问题标题】:Firestore emulator - connecting on a custom portFirestore 模拟器 - 在自定义端口上连接
【发布时间】:2020-03-08 15:23:47
【问题描述】:

the firestore documentation 中所述,我可以通过添加以下部分在firestore.json 中设置firestore 模拟器的端口:

  "emulators": {
    "firestore": {
      "port": 1234
    }
  }

但是我该如何连接它呢? initializeTestApp 和 initializeAdminApp 是否以端口为参数?

【问题讨论】:

    标签: firebase google-cloud-firestore firebase-cli


    【解决方案1】:

    我在任何地方的文档中都找不到这个,但通过查看@firebase/rules-unit-testing npm package 的源代码,我能够弄清楚。

    您需要做的就是设置FIRESTORE_EMULATOR_HOST 环境变量:

    FIRESTORE_EMULATOR_HOST=localhost:8181
    

    然后只需使用initializeTestApp()/initializeAdminApp(),如docs 中所述。

    (如果您改用 RealtimeDatabase,您似乎也可以使用 DATABASE_ADDRESS_ENV 环境变量。)

    【讨论】:

      【解决方案2】:

      见:

      // Initialize your Web app as described in the Get started for Web
      // firebaseApp previously initialized using firebase.initializeApp().
      var db = firebaseApp.firestore();
      if (location.hostname === "localhost") {
        // Note that the Firebase Web SDK must connect to the WebChannel port
        db.settings({
          host: "localhost:8081",
          ssl: false
        });
      }
      

      您可以尝试以下示例吗?

      【讨论】:

      • 我的测试用例无法使用这个连接到模拟器。加载规则时收到错误消息“错误:14 不可用:无法连接到所有地址”
      • 不确定您添加或删除了什么...但不,它仍然无法正常工作
      • 首先,您应该尝试任何样本。如果它不起作用,那么问题可能出在您的 PC 设置上。
      猜你喜欢
      • 2015-02-10
      • 2020-09-22
      • 2012-06-05
      • 1970-01-01
      • 1970-01-01
      • 2020-10-21
      • 1970-01-01
      • 2020-10-26
      • 2013-05-26
      相关资源
      最近更新 更多