这个问题本质上与问题44799104相同,只是我提供了我的index.js(唯一的答案没有帮助,因为我确实包括了“exports”)。
简而言之,我已经成功地部署了我的功能,
但是它没有显示在控制台中。我哪里出错了?下面是我的index.js:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
var delayInMilliseconds = 5000;
exports.copyRoom= functions.database.ref('/RoomsOwn/${AuthUid}').onWrite((event) => {
var uid = event.params.AuthUid;
console.log('AuthID: ' + uid);
var object = event.data.val();
console.log('Whole Object: ', object);
setTimeout(function() {
return admin.database.ref('/RoomsOthers/${uid}').set(object);
}, delayInMilliseconds);
});
5条答案
按热度按时间643ylb081#
当运行
firebase deploy
时,您实际上并没有部署该函数。如果您成功部署了该函数,则该函数的名称将出现在Firebase CLI输出中。请确保:
1.实际上是用您尝试部署的函数保存了文件。
1.文件位于正确的目录中。对于JavaScript项目,缺省值为
functions/index.js
1.正在从正确的目录部署正确的项目。
qltillow2#
在我的例子中,我只需要在部署之前cd到functions文件夹。注意,你应该在你的输出中得到这个:
hpcdzsge3#
对我来说,问题出在函数的名称上。我的函数名称是
fooBar
,但我使用的是foobar
。gzszwxb44#
在我的例子中,我使用了Typescript,并且导入了一个在
function
文件夹范围之外的接口。一旦我删除了那个导入,它就像我预期的那样部署了。sulc1iza5#
我忘了从 Package 函数中返回firebase函数。
希望这能对下面的人有所帮助。