我跑了
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());
});
});
答案 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的指令,可以轻松地将其应用于其他调试器。