【问题标题】:Firebase emulator not facilitating/running new functionsFirebase 模拟器不促进/运行新功能
【发布时间】:2021-11-09 00:15:19
【问题描述】:

我有三个云功能,其中两个已部署到我的 firebase 项目中,其中一个是我刚刚添加的。我希望在部署之前在本地测试新的,但是当我尝试使用它时,我无法使用它,并且只有两个已经部署的功能可用。

Firebase 模拟器像往常一样在端口 5001 上运行良好。我关注these instructions 并将firebase.functions().useEmulator("localhost", 5001); 添加到我想在本地测试的函数中:

已经部署的函数示例:

// index.js
exports.addMessage = functions.region("europe-west1").https.onRequest(...

尚未部署的功能:

// index.js
exports.testFunction = functions.useEmulator("localhost", 5001).https.onRequest(...

然后我转到https://localhost:5001/{projectId}/us-central1/testFunction,但浏览器显示一条消息,仅显示addMessage,并且我的其他部署的函数可以使用。我也尝试了http,正如另一个帖子中所推荐的那样。

这里有没有我遗漏的步骤?某种“本地”部署?我知道 firebase 版本发生了一些变化,这可能会使事情变得混乱,但是当您运行 firebase init 时,我使用的是默认的导入/依赖项 firebase 安装:

// package.json
"dependencies": {
  "firebase-admin": "^9.8.0",
  "firebase-functions": "^3.14.1"
},

//index.js
import * as functions from "firebase-functions";
import * as admin from "firebase-admin";

【问题讨论】:

  • 您能否简述一下您想要实现的目标和面临的问题?
  • @DivyaniYadav 尝试通过模拟器在本地运行我的功能,这样我就可以在部署之前先测试它们,而不是部署到 firebase、尝试它们、调试它们、再次部署等。
  • 你能看看这个链接吗:stackoverflow.com/questions/56158010/… 有用吗?
  • @DivyaniYadav 我认为可以。我忽略了这个线程,因为我的模拟器一直在工作,而那个线程来自一个根本无法加载模拟器的用户。但我跑了firebase setup:emulators:firestore,现在我新添加的功能可以工作了。谢谢。
  • 按照您的指示更新了我的答案。

标签: javascript google-cloud-functions firebase-tools


【解决方案1】:

编辑,新答案:

事实证明,您需要将函数部署到 firebase 一次,以便模拟器识别该函数。

运行firebase deploy --only functions,然后模拟您的数据库,您应该会看到您的功能。

上一个答案: 运行firebase setup:emulators:firestore 后,我新添加的功能似乎可以在模拟器中运行。

【讨论】:

    【解决方案2】:

    更新:

    1:在 firebase 中部署您的功能以获得识别。 你可以参考Documentation使用firebase deploy --only functions

    2:确保通过以下命令安装了模拟器:firebase setup:emulators:firestore。为此,您可以参考Documentation

    emulators:start 命令将为 Cloud Functions 启动模拟器, Cloud Firestore、实时数据库和 Firebase 托管基于 您在本地项目中使用 firebase 初始化的产品 在里面。如果要启动特定的模拟器,请使用 --only 标志。

    如需进一步参考,您可以跟进 stackoverflow 线程 12,其中 OP 提出了类似问题,这可能会有所帮助。

    【讨论】:

      猜你喜欢
      • 2020-02-05
      • 2020-09-09
      • 2019-12-14
      • 2018-06-02
      • 2021-01-11
      • 2017-01-03
      • 2019-10-03
      • 1970-01-01
      • 2022-10-14
      相关资源
      最近更新 更多