如何使用visual studio代码 firebase-database 触发函数进行调试? 我尝试了模拟器,但是当我调用它时出现错误
select
R.ReviewID,
STUFF((select distinct ',' + FirstName
from Users
where UserID = RC.ConsultantID
FOR XML PATH ('')), 1, 1, '') AS consultantlist
from
[Reviews] R, [ReviewConsultants] RC
where
R.ReviewID = RC.ReviewID
group by
R.ReviewID;
这段代码我想调试
functions debug myMethod
C:\functions\functions>functions debug createUserChat
ERROR: Error: Function myMethod in location us-central1 in project myProject does not exist
at C:\Users\Dev\AppData\Roaming\npm\node_modules\@google-cloud\functions-emulator\node_modules\grpc\src\client.js:554:15
这是我的启动文件
require('@google-cloud/debug-agent').start({ allowExpressions: true });;
const functions = require('firebase-functions'),
admin = require('firebase-admin'),
logging = require('@google-cloud/logging')();
admin.initializeApp(functions.config().firebase);
exports.myMethod= functions.database.ref('Tasks/{taskID}/taskStatus').onUpdate(event =>{
// do sth.
});
答案 0 :(得分:3)
debug-agent
仅用于远程调试。如果要在本地调试功能,请使用Cloud Functions Emulator。
答案 1 :(得分:1)
您可以使用Firebase函数1.0使其在Visual Studio代码上运行,而无需更改功能代码上的任何内容。 你的发布配置似乎是正确的......
在运行functions deploy
命令时,您基本上只需要正确设置FIREBASE_CONFIG环境变量。
喜欢的东西(别忘了逃避"字符):
FIREBASE_CONFIG="{\"databaseURL\":\"https://YOUR-FIREBASE-PROJECT.firebaseio.com\",\"storageBucket\":\"YOUR-FIREBASE-PROJECT.appspot.com\",\"projectId\":\"YOUR-FIREBASE-PROJECT\"}
functions deploy --trigger-http --timeout 600s FUNCTION_NAME
这适用于Firebase Functions 1.0,因为在新版本Firebase函数从环境中读取它的配置(https://firebase.google.com/docs/functions/beta-v1-diff#new_initialization_syntax_for_firebase_admin)
之后,您只需正常运行functions debug FUNCTION_NAME [--port]
即可启动功能调试程序并运行“附加”功能。 VS Code配置。
我写了一些关于更多细节和图像的教程: https://medium.com/@mwebler/debugging-firebase-functions-with-vs-code-3afab528bb36
答案 2 :(得分:0)
尝试:ndb firebase serve
这将打开一个带有调试工具的特定Chrome浏览器,并且对所有子进程进行检测可能会有点慢,因此请花一些时间。一旦运行,它将达到调试器的断点,等等。