将函数模拟器与实时数据库一起使用

Using functions emulator together with live database

为了轻松测试 https 可调用函数,我想 运行 函数模拟器能够访问在线数据库。

模拟器的启动方式我觉得是这样的:

"GOOGLE_APPLICATION_CREDENTIALS=\"/path/to/credentials.json\" firebase emulators:start --only functions"

现在我仍然需要将应用程序中的 firebase 函数配置指向模拟器的 host/port。

有办法吗?

对于 firestore,您可以这样做:

  const db = firebaseApp.firestore();

  if (window.location.hostname === "localhost") {
    console.log("localhost detected!");
    db.settings({
      host: "localhost:8080",
      ssl: false
    });
  }

是否有类似的方法来配置 firebase 函数以指向模拟器?

我知道您可以通过 functions-shell 测试功能,但我觉得那样不太方便。我想将我的应用程序与来自 firestore 的可用数据一起使用。

这不是受支持的用例。您可以使用云服务或本地模拟器,但不能同时使用。您可以尝试使用可以从云中获取的一些数据预填充模拟器,仅此而已。 (本地模拟器的要点是完全避免需要云服务。)