在本地调试 firebase windows

debugging firebase on local windows

我正在尝试在本地调试 firebase 功能 windows

https://medium.com/@mwebler/debugging-firebase-functions-with-vs-code-3afab528bb36

所述

我愿意

set FIREBASE_CONFIG={  databaseURL: 'https://invoice-manager-251609.firebaseio.com',  storageBucket: 'invoice-manager-251609.appspot.com',   projectId: 'invoice-manager-251609'}

functions start

并得到

┌────────┬────────┬─────────┬─────────────────────────────────────────────────────────────────┐
│ Status │ Name   │ Trigger │ Resource                                                        │
├────────┼────────┼─────────┼─────────────────────────────────────────────────────────────────┤
│ FAILED │ upload │ HTTP    │ http://localhost:8010/invoice-manager-251609/us-central1/upload │
├────────┼────────┼─────────┼─────────────────────────────────────────────────────────────────┤
│ FAILED │ tst    │ HTTP    │ http://localhost:8010/invoice-manager-251609/us-central1/tst    │
├────────┼────────┼─────────┼─────────────────────────────────────────────────────────────────┤
│ FAILED │ tst1   │ HTTP    │ http://localhost:8010/invoice-manager-251609/us-central1/tst1   │
└────────┴────────┴─────────┴─────────────────────────────────────────────────────────────────┘

如果我这样做 firebase emulators:start

我明白了

undefinedWarning, estimating Firebase Config based on GCLOUD_PROJECT.

Initializing firebase-admin may fail[2019-10-06T11:44:51.932Z] @firebase/database: FIREBASE FATAL ERROR: Cannot parse Firebase url.

Please use https://.firebaseio.com

我也试过:

functions debug tst1

并得到:

ERROR: Function worker crashed with exit code: 9 undefined(node:21096) [DEP0062] DeprecationWarning: `node --debug

node --debug-brkare invalid. Please usenode --inspectornode --inspect-brk` instead.

我试过 node-10 and node-8

我也试过这个: https://medium.com/@david_mccoy/build-and-debug-firebase-functions-in-vscode-73efb76166cf

还有这个 https://rominirani.com/google-cloud-functions-tutorial-debugging-local-functions-357c24829198

我遇到同样的错误

发生了什么事?

如何在本地调试 firebase windows?

问题中的指南是正确的,但是 当 运行 在 Emulator 中时,你必须手动设置数据库 url

admin.initializeApp({
    databaseURL: "https://<YOUR FIREBASE>.firebaseio.com"
  });

这里是完整的命令列表:

functions start

functions deploy --trigger-http --timeout 600s funcName

functions inspect funcName

之后你可以使用 chrome://inspect/ 连接到带有 chrome 调试器的进程。

如果你有问题,你可以使用:

functions logs read

注意:在 functions start 之后我仍然得到 table 和 FAILED 状态 - 我忽略它