如何使用 firebase:shell 附加调试器 - firestore 云函数
How to attach debugger with firebase:shell - firestore clould functions
已成功在本地配置 firestore 云功能。
能够使用以下命令在本地 运行 功能。
- firebase functions:shell --port=3535
firebase var data = require('./data'); wChangedEvent(data.default);
...
...
在 wChangedEvent 中打印任何 console.log。
所以这是正常工作。
但我需要在 visual studio 代码中附加调试器。我尝试了以下配置。
{
"type": "node",
"request": "attach",
"name": "Attach",
"port": 3535,
"protocol": "inspector"
},
但它不起作用。
您可以使用函数模拟器。文档很少,但这是一个好的开始: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"`
}
截至 2020 年底,this pull request 增加了对 --inspect-functions
标志的支持。
firebase functions:shell --inspect-functions
除非您明确提供另一个,否则它将打开默认的节点调试器端口9229
。
使用 Jetbrains IDE,您可以使用 "Attach to Node.js/Chrome" run configuration.
附加到 运行 进程
已成功在本地配置 firestore 云功能。
能够使用以下命令在本地 运行 功能。
- firebase functions:shell --port=3535
firebase var data = require('./data'); wChangedEvent(data.default);
... ... 在 wChangedEvent 中打印任何 console.log。 所以这是正常工作。
但我需要在 visual studio 代码中附加调试器。我尝试了以下配置。
{
"type": "node",
"request": "attach",
"name": "Attach",
"port": 3535,
"protocol": "inspector"
},
但它不起作用。
您可以使用函数模拟器。文档很少,但这是一个好的开始: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"`
}
截至 2020 年底,this pull request 增加了对 --inspect-functions
标志的支持。
firebase functions:shell --inspect-functions
除非您明确提供另一个,否则它将打开默认的节点调试器端口9229
。
使用 Jetbrains IDE,您可以使用 "Attach to Node.js/Chrome" run configuration.
附加到 运行 进程