Node.js 如何使用VSCode调试带有Firestore触发器的Google云函数?
我有一个在数据库的onCreate触发器上运行的函数,当它运行时,它会访问数据库的其他部分,以修改基于刚刚创建的文档树的文档树 要适当地测试此功能,需要有一个数据库,其中包含运行所需的全部信息,而不仅仅是一个要修改的文档 有没有办法为本地仿真器提供一个充满数据的数据库Node.js 如何使用VSCode调试带有Firestore触发器的Google云函数?,node.js,visual-studio-code,google-cloud-firestore,google-cloud-functions,Node.js,Visual Studio Code,Google Cloud Firestore,Google Cloud Functions,我有一个在数据库的onCreate触发器上运行的函数,当它运行时,它会访问数据库的其他部分,以修改基于刚刚创建的文档树的文档树 要适当地测试此功能,需要有一个数据库,其中包含运行所需的全部信息,而不仅仅是一个要修改的文档 有没有办法为本地仿真器提供一个充满数据的数据库 更好的是,有没有一种方法可以将调试器直接附加到云函数和调试实时函数(类似于,但用于firestore而不是firebase)?I为本地仿真器提供一个充满数据的数据库的唯一方法是创建一个带有虚拟信息的真实数据库 有一个模拟器正在开发
更好的是,有没有一种方法可以将调试器直接附加到云函数和调试实时函数(类似于,但用于firestore而不是firebase)?I为本地仿真器提供一个充满数据的数据库的唯一方法是创建一个带有虚拟信息的真实数据库
有一个模拟器正在开发中,它确实实现了一些功能,但它正在开发中。它似乎是开源的,托管在Github中。我建议您请求测试其功能。不过,还不能确定它是否满足您需要的所有功能。您可以使用functions emulator。文档很少,但这是一个良好的开端: 创建VS Launce配置:
{
"type": "node",
"request": "attach",
"name": "Attach",
"port": 9229
}
现在可以使用F5开始调试
这不会自动从数据库接收触发器,但仍然非常有用,因为您可以使用http请求触发函数并对其进行调试
提示:将此脚本添加到您的包.json
,以便您可以轻松地npm运行调试
来构建并部署到模拟器:
"scripts": {
...
"debug": "npm run build && functions deploy api --trigger-http --timeout 600s && functions inspect api --port 9229"`
}
"scripts": {
...
"debug": "npm run build && functions deploy api --trigger-http --timeout 600s && functions inspect api --port 9229"`
}