我正在尝试调试我的JS代码,以firebase函数运行。我的步骤是:从功能安装
npm install --save @google-cloud/debug-agent
添加index.js:
require('@google/cloud-debug').start();
当我尝试运行
时firebase deploy --only functions
有一个错误:
Error: Error parsing triggers: Cannot find module '@google/cloud-debu
g'
Try running "npm install" in your functions directory before deployin
尝试: ndb firebase serve
调试器断点被可见的堆栈痕迹击中,请注意,这有点慢,所以给调试器时间来仪器来启动子过程
此外,我还可以使用(删除值的caps)隔离云功能:
GCLOUD_PROJECT=THE-FIREBASE-PROJECT node --inspect-brk /path/to/functions-framework --target FUNCTION-NAME --port=5000
functions-framework仅将其扩展到已安装函数 - 框架工程的完整路径(在我的情况下为全球),而工作目录包含函数的目标索引。
另外需要在何时何地使用firebase_config尝试调整此格式以适合: FIREBASE_CONFIG="{"databaseURL":"https://YOUR-FIREBASE-PROJECT.firebaseio.com","storageBucket":"YOUR-FIREBASE-PROJECT.appspot.com","projectId":"YOUR-FIREBASE-PROJECT"}
- https://github.com/googlechromelabs/ndb
- https://cloud.google.com/functions/docs/functions-framework
- https://github.com/googlecloudplatform/functions-framework-nodejs/issues/15
index.js
的补充应为:
require('@google-cloud/debug-agent').start();
或更好:
require('@google-cloud/debug-agent').start({ allowExpressions: true });
我们最近重命名了该模块,您遵循的指令可能部分过时。您能指出您遵循的说明吗?
还要注意,在这一点上,对调试云功能的支持是实验性的。在某些情况下(取决于功能的流量),您的功能可能会在调试代理有机会初始化/注册之前完成。我们目前正在研究如何解决这个问题。