开发者问题收集

TypeError:firebase.messaging 不是 node.js 中的函数

2017-06-01
21344

尝试使用 firebase 模块在 node.js 中获取 FCM 消息时,出现以下错误“TypeError:firebase.messaging 不是函数”。

var firebase = require("firebase");

firebase.initializeApp({
    apiKey: "xxxxxxx",
    authDomain: "xxxxxxx",
    databaseURL: "xxxxxxx",
    projectId: "xxxxxxx",
    storageBucket: "xxxxxxx",
    messagingSenderId: "xxxxxxx"
});

const messaging = firebase.messaging();

如何纠正此错误以及如何使用 firebase 模块提取消息?

3个回答

您必须包含 import '@firebase/messaging' 才能使其正常工作。 因此它应该看起来像这样:

import * as firebase from 'firebase/app';
import '@firebase/messaging';
user11411137
2019-04-25

您尝试使用的标准仅适用于浏览器:

您必须需要 firebase-messaging ,查看此完整示例,它将指导您 https://github.com/firebase/quickstart-js/tree/master/messaging

对于 nodeJS 实现,您必须使用 admin.messaging

https://firebase.google.com/docs/reference/admin/node/admin.messaging

// Get the Messaging service for the default app
var defaultMessaging = admin.messaging();
Bamieh
2017-06-01

Firebase 的文档并未明确说明当前环境不同,可用的功能也不同。 firebase.messaging 不适用于 Node.js 客户端,但可从 firebase-admin 软件包中获取。但是,此软件包本身附带了一组专门用于 firebase.messaging 的不同功能。

您可以在 Firebase 参考文档中查看根据您的环境可用的功能。具体来说,对于您的情况,请参阅 Node.js (客户端) 部分。

Cisco
2017-06-01