Javascript Firebase函数代码已部署,但在控制台中不可见

Javascript Firebase函数代码已部署,但在控制台中不可见,javascript,node.js,firebase,Javascript,Node.js,Firebase,我对Firebase函数有问题。一旦我在终端中执行firebase部署,就会收到以下消息 === Deploying to 'xxxxxxxx'... i deploying functions Running command: npm --prefix "$RESOURCE_DIR" run lint > functions@ lint D:\Flutter Projects\xxxxxxxx\xxxxxxxx\functions > eslint . + functio

我对Firebase函数有问题。一旦我在终端中执行firebase部署,就会收到以下消息

=== Deploying to 'xxxxxxxx'...

i  deploying functions
Running command: npm --prefix "$RESOURCE_DIR" run lint

> functions@ lint D:\Flutter Projects\xxxxxxxx\xxxxxxxx\functions
> eslint .

+  functions: Finished running predeploy script.
i  functions: ensuring required API cloudfunctions.googleapis.com is enabled...
+  functions: required API cloudfunctions.googleapis.com is enabled
i  functions: preparing functions directory for uploading...

+  Deploy complete!

Project Console: https://console.firebase.google.com/project/xxxxxxxx/overview
但是,当我查看Firebase函数控制台时,它会说等待您的第一个实现

这是functions文件夹中的my index.js文件:

const admin = require("firebase-admin");

var serviceAccount = require("../functions/xxxxxxxx-firebase-adminsdk.json");

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: "https://xxxxxxxx.firebaseio.com"
});

var payload = {
    notification: {
      title: "Test title",
      body: "Test notification",
      image: ""
    },
  };

var options = {
    priority: "high",
    to: '/topics/all'
}

function sendPushNotification(payload){
    admin.messaging().sendToTopic("all", payload)
    .then((response) => {
        console.log("Successfully sent message: ", response);
        return null;
    })
    .catch((error) => {
        console.log("Error sending message: ", error);
    });
}

setInterval(() => {
  sendPushNotification(payload);
}, 3600000);

module.exports.sendPushNotification = sendPushNotification;
运行node index.js时,代码按预期工作。我不确定是否以正确的方式导出了该函数,因此可能Firebase函数不知道要部署哪个函数。目标是Firebase函数每小时向所有设备发送一次通知,仅用于测试目的。我怎样才能做到这一点

注意:我已经根据线程检查了以下内容:

实际上是用我试图部署的函数保存了文件。 文件位于正确的目录中。对于JavaScript项目,默认值为functions/index.js 我正在从正确的目录部署正确的项目。
你必须重构你的代码来使用一个

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

const serviceAccount = require("../functions/xxxxxxxx-firebase-adminsdk.json");

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: "https://xxxxxxxx.firebaseio.com",
});

const payload = {
  notification: {
    title: "Test title",
    body: "Test notification",
    image: "",
  },
};

const options = {
    priority: "high",
    to: '/topics/all'
}

exports.sendPushNotification = functions.pubsub.schedule('every 1 hour')
  .onRun((context) => {
    admin.messaging().sendToTopic("all", payload)
      .then((response) => {
        console.log("Successfully sent message: ", response);
        return null;
      })
      .catch((error) => {
        console.log("Error sending message: ", error);
        return null;
      });
  });