看下面我的代码是非常简单的....它监听实时数据库中数据库字段的变化。
const functions = require("firebase-functions");
var admin = require("firebase-admin");
exports.onActiveUpdate = functions.database
.ref("/profiles/users/{userId}/active")
.onUpdate((change, context) => {
//code here
return true;
});
我尝试过使用以下命令在本地调试代码
firebase serve --only functions
firebase serve
firebase emulators:start
我总是得到同样的信息...
+ functions: Emulator started at http://localhost:5001
i functions: Watching "C:\code\rn\xs\fb_functions\functions" for Cloud Functions...
i functions[onActiveUpdate]: function ignored because the database emulator does not exist or is not running.
+ All emulators started, it is now safe to connect.
但是当我转到localhost:5001时......我看到的只是一个空白页面,顶部有{"status":"alive"}
。
这是正确的行为吗?谢谢
5条答案
按热度按时间rlcwz9us1#
您可以通过运行以下命令在检查模式下运行模拟器:
查看它正在侦听哪个端口进行调试(例如端口9229)。如果您使用的是VSCode,请在.vscode子目录中包含launch.json:
然后简单地点击VSCode中的Debug图标来连接到正在运行的进程。现在在函数代码中放置一些断点,并通过浏览器调用它们。
bqujaahr2#
您可以使用https://github.com/GoogleChromeLabs/ndb来调试httpfirebase函数。
在本地或全局安装它,并使用ndb运行普通的serve命令:
第一个月
gab6jxml3#
我刚刚试用了firebase模拟器套件,发现它确实支持node.js Inspector,因此很好地支持分步本地调试。
假设您的所有模块都适合模拟器,那么我们可以集中精力启用本地调试。
我选择MS Code作为我的Inspector客户端。
firebase emulators:start
并验证您的函数在本地是否正常工作。ou6hu8tu4#
根据文档,启动云函数和实时数据库模拟器的命令行如下:
x8goxv8g5#
pref给出的解决方案很有效,下面是我的. vscode/launch.json
下面是我的火力点命令。