在本地成功配置的Firestore云功能。
可以使用以下命令在本地运行功能。
firebase var data = require('./ data'); wChangedEvent(data.default);
... ... 在wChangedEvent中打印任何console.log。 所以这正常工作。
但是我需要在Visual Studio代码中附加调试器。我尝试使用以下配置。
{
"type": "node",
"request": "attach",
"name": "Attach",
"port": 3535,
"protocol": "inspector"
},
但是它不起作用。
答案 0 :(得分:1)
截至2020年末,this pull request增加了对--inspect-functions
标志的支持。
firebase functions:shell --inspect-functions
除非您明确提供另一个,否则它将打开默认的节点调试器端口9229
。
使用Jetbrains IDE,您可以使用"Attach to Node.js/Chrome" run configuration附加到正在运行的进程。
答案 1 :(得分:-1)
您可以使用功能模拟器。很少有文档,但这是一个好的开始:https://firebase.google.com/docs/functions/config-env
$ npm install -g @google-cloud/functions-emulator`
$ functions start
$ functions deploy api --trigger-http --timeout 600s
$ functions inspect api --port 9229
创建VS Launce配置:
{
"type": "node",
"request": "attach",
"name": "Attach",
"port": 9229
}
现在您可以F5开始调试。
这将不会自动从数据库接收触发器,但是它仍然非常有用,因为您可以使用http请求来触发函数并对其进行调试。
提示:将此脚本添加到您的package.json
中,以便您可以轻松npm run debug
来构建并将其部署到仿真器:
"scripts": {
...
"debug": "npm run build && functions deploy api --trigger-http --timeout 600s && functions inspect api --port 9229"`
}