下面看到我的代码很简单。...它侦听实时数据库中数据库字段的更改。
text = df["Sentences"].tolist()
df_text = pd.DataFrame(columns=['Start', 'End', 'Text'])
switch = 1
collect_sentence = ""
for i_start, time_start in enumerate(df["Start_Time"]):
time_end = df["End_Time"][i_start]
if i_start > 0:
time_list_start = time_list[switch-1]
time_list_end = time_list[switch]
if time_start >= time_list_start and time_end <= time_list_end:
collect_sentence= collect_sentence + text[i_start]
if time_start >= time_list_start and time_end > time_list_end and time_start < time_list_end:
duration_before = time_list_end - time_start
duration_after = time_end - time_list_end
if duration_after < duration_before:
collect_sentence + text[i_start]
else:
df_text = df_text.append({
'Start': int(time_list_start), 'End': int(time_list_end), \
'Text': collect_sentence}, ignore_index = True)
switch += 1
collect_sentence = text[i_start]
if time_start > time_list_end:
df_text = df_text.append({
'Start': int(time_list_start), 'End': int(time_list_end), \
'Text': collect_sentence}, ignore_index = True)
switch += 1
collect_sentence = text[i_start]
我尝试使用以下命令在本地调试代码
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
但是当我转到localhost:5001时。...我看到的是空白页,顶部是+ 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.
。
这是正确的行为吗? 谢谢
答案 0 :(得分:2)
您可以通过运行以下命令在检查模式下运行模拟器:
firebase emulators:start --inspect-functions
查看它正在侦听的调试端口(例如端口 9229 )。 如果您使用的是 VSCode,请在 .vscode 子目录中包含一个 launch.json:
{
"configurations": [
{ "type": "node",
"request": "attach",
"name": "Debug",
"port": 9229
}
]
}
然后只需单击 VScode 中的调试图标即可连接到正在运行的进程。 现在在您的函数代码中放置一些断点并通过浏览器调用它们。
答案 1 :(得分:0)
根据documentation,用于启动云功能和实时数据库仿真器的命令行是:
firebase emulators:start --only database,functions
答案 2 :(得分:0)
您可以使用https://github.com/GoogleChromeLabs/ndb调试 http Firebase函数。
在本地或全局安装它,并使用ndb运行常规的serve命令:
ndb yarn serve
答案 3 :(得分:0)
我刚刚尝试过Firebase模拟器套件,发现它确实启用了node.js Inspector,因此很好地支持了分步本地调试。
假设您所有的模块都适合仿真器,那么我们可以专注于启用本地调试。
我选择MS Code作为我的检查器客户端。
firebase emulators:start
并确认您的功能在本地环境中工作正常。答案 4 :(得分:0)
pref 给出的解决方案有效。下面是我的 .vscode/launch.json
{
"configurations": [
{ "type": "node",
"request": "attach",
"name": "Node.js-Debugger",
"port": 9229
}
]
}
下面是我的 firebase 命令。
$ firebase emulators:start --inspect-functions --import emulator_data --export-on-exit