我正在使用Google Cloud Functions Emulator在本地调试我的Firebase函数。
Firebase建议使用functions.https.onCall
functions而不是functions.https.onRequest
,以避免直接使用http调用。相反,Firebase建议使用Firebase Functions SDK从代码中调用此类函数。
对于functions.https.onRequest
,我使用了http-trigger
标志,但是如何调试onCall
函数呢?
答案 0 :(得分:3)
我找到了一种在本地运行“ onCall”云功能并从本地客户端调用它们的方法。我仍然没有弄清楚如何附加调试器,但是至少我可以更快地迭代并使用console.log语句。
使用firebase serve
托管功能。即使这些应该用于http请求,我仍然发现firebase客户端具有覆盖onCall
函数的主机名的属性。这样可以进行身份验证并为您传递正确的数据和上下文对象。
从Firebase项目文件夹根目录中的终端机中:
firebase serve
您应该在终端窗口中获得成功的结果。输入主机名和端口号:
✔ functions: helloWorld: http://localhost:5000/your-project-name/us-central1/helloWorld
iOS客户端:
Functions.functions().useFunctionsEmulator(origin: "http://localhost:5000")
注意:您必须在iOS中禁用App Transport Security,此功能才能起作用
注意:其他客户端可能具有相同的API。