1

先决条件:

  • Firebase SDK:^7.21.1

我想将我的 Vue.js 前端与我的本地 firebase 函数模拟器连接起来。模拟器位于localhost:5001。我很难弄清楚我必须设置哪些配置属性才能访问模拟器端点。

这是我当前的配置:

const firebaseConfig = {
  apiKey: "AIzaSyCKvB9ZluNGOP4s4r8igflwuK-9WVsoThg",
  authDomain: "company-29f5c.firebaseapp.com",
  databaseURL: "https://company-29f5c.firebaseio.com",
  projectId: "company-bar",
  storageBucket: "company-29f5c.appspot.com",
  messagingSenderId: "1051704079600",
  appId: "1:1051704079600:web:f99d362c43b87346",
  notificationWebhookUrl: "http://localhost:5001/company-dev/us-central1/notificationsMixpanelWebhook",
  cloudFunctionBaseUrl: "http://localhost:5001/company-dev/us-central1",
};

我开始更改,cloudFunctionBaseUrl因为使用此属性更改函数端点 url 对我来说很明显。如您所见,我将其设置为localhost:5001/.... 然而,在我的应用程序中使用的 url 仍然在调用这个 url:

https://us-central1-company-bar.cloudfunctions.net

我发现 url 是由projectId配置的属性组成的。因此cloudFunctionBaseUrl根本不会覆盖它。

我现在如何更改组合的 url

https://us-central1-company-bar.cloudfunctions.net

http://localhost:5001/company-dev/us-central1

我希望有某种配置标志enableEmulator或类似的东西,但在文档中找不到任何提示。

4

1 回答 1

0

你认为有一个函数是正确的,它被称为useEmulator. 据我所知,您必须为要模拟的 firebase 的每个部分调用它。

如果您想让函数使用模拟器,您可以执行以下操作:

firebase.functions().useEmulator('localhost', 5001);

通话后firebase.initializeApp

更多信息可以在官方文档中找到:https ://firebase.google.com/docs/emulator-suite/connect_functions#

于 2021-06-22T21:23:53.270 回答