Firebase功能正在部署,但未在控制台中显示

icomxhvb  于 2022-11-25  发布在  其他
关注(0)|答案(5)|浏览(165)

这个问题本质上与问题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);

  });
643ylb08

643ylb081#

当运行firebase deploy时,您实际上并没有部署该函数。如果您成功部署了该函数,则该函数的名称将出现在Firebase CLI输出中。
请确保:
1.实际上是用您尝试部署的函数保存了文件。
1.文件位于正确的目录中。对于JavaScript项目,缺省值为functions/index.js
1.正在从正确的目录部署正确的项目。

qltillow

qltillow2#

在我的例子中,我只需要在部署之前cd到functions文件夹。注意,你应该在你的输出中得到这个:

hpcdzsge

hpcdzsge3#

对我来说,问题出在函数的名称上。我的函数名称是fooBar,但我使用的是foobar

firebase deploy --only functions:foobar // Incorrect
firebase deploy --only functions:fooBar // Correct
gzszwxb4

gzszwxb44#

在我的例子中,我使用了Typescript,并且导入了一个在function文件夹范围之外的接口。一旦我删除了那个导入,它就像我预期的那样部署了。

sulc1iza

sulc1iza5#

我忘了从 Package 函数中返回firebase函数。

export const myWrapper = (database: any, url: any) => {
//don't forget the return keyword here!!
  return functions.https.onRequest((req, res) => { }

}

希望这能对下面的人有所帮助。

相关问题