firebase服务和调试功能?

时间:2018-05-23 16:42:05

标签: javascript node.js firebase visual-studio-code google-cloud-functions

我跑了

  

firebase serve --only-functions

然后跑

  

函数检查addMessage

所以我可以调试addMessage函数。然而,调试不起作用。

运行

  

firebase部署addMessage --trigger-http    firebase检查addMessage

工作并允许我调试,但它似乎不支持热重新加载。

是否可以同时进行热重新加载和调试?

我的index.js:

const functions = require('firebase-functions');

// The Firebase Admin SDK to access the Firebase Realtime Database.
const admin = require('firebase-admin');
admin.initializeApp();

exports.addMessage = functions.https.onRequest((req, res) => {
    // Grab the text parameter.
    const original = "123";//req.query.text;
    // Push the new message into the Realtime Database using the Firebase Admin SDK.
    return admin.database().ref('/messages').push({original: original}).then((snapshot) => {
      // Redirect with 303 SEE OTHER to the URL of the pushed object in the Firebase console.
      return res.redirect(303, snapshot.ref.toString());
    });
  });

2 个答案:

答案 0 :(得分:2)

尝试:GCLOUD_PROJECT=THE-FIREBASE-PROJECT node --inspect-brk /path/to/functions-framework --target FUNCTION-NAME --port=5000

调试器断点被击中且堆栈跟踪可见,请注意,这有点慢,因此请给调试器时间来检测子进程

此外,我还可以使用(删除值的上限)隔离调试云功能:

FIREBASE_CONFIG="{\"databaseURL\":\"https://YOUR-FIREBASE-PROJECT.firebaseio.com\",\"storageBucket\":\"YOUR-FIREBASE-PROJECT.appspot.com\",\"projectId\":\"YOUR-FIREBASE-PROJECT\"}

functions-framework只是从工作目录扩展到已安装的function-framework的完整路径(在我的情况下为全局),其中index.js文件是目标函数。

或者在需要或需要FIREBASE_CONFIG的位置,尝试调整以下格式以适合: pdf_text()

答案 1 :(得分:1)

从firebase-tools v7.11.0开始,Firebase模拟器现在支持使用--inspect-functions选项附加调试器。 This answer显示了特定于WebStorm的指令,可以轻松地将其应用于其他调试器。