0
继续收到TypeError,我无法弄清楚原因。我使用(npm install firebase --save
)安装了Firebase。这是我的代码:节点和Firebase云消息传递类型错误
var firebase = require("firebase"); // Firebase
var express = require('express'); // Express instaniated a different way for serving static webpages
var app = express(); // Express App include
// Set port
app.listen(8085);
// Initialize Firebase
var config = {
apiKey: "AIza...............",
authDomain: ".....firebaseapp.com",
databaseURL: "...............",
storageBucket: "..........appspot.com",
messagingSenderId: "..............."
};
firebase.initializeApp(config);
// Create the URL for using Firebase
app.get('/fcmtest', function (req, res) {
const messaging = firebase.messaging();
messaging.requestPermission()
.then(function() {
console.log("Have Permission")
})
.catch(function (err) {
console.log("Do Not Have Permission");
});
});
这是我收到的错误。 InitializeApp似乎工作正常,但消息不起作用。 (npm -v firebase)吐出3.10,但npm网页上说最新的是3.6.1。
TypeError: firebase.messaging is not a function
at /usr/gserv/services/app.js:226:32
at Layer.handle [as handle_request] (/usr/gserv/services/node_modules/express/lib/router/layer.js:95:5)
at next (/usr/gserv/services/node_modules/express/lib/router/route.js:131:13)
at Route.dispatch (/usr/gserv/services/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/usr/gserv/services/node_modules/express/lib/router/layer.js:95:5)
at /usr/gserv/services/node_modules/express/lib/router/index.js:277:22
at Function.process_params (/usr/gserv/services/node_modules/express/lib/router/index.js:330:12)
at next (/usr/gserv/services/node_modules/express/lib/router/index.js:271:10)
at /usr/gserv/services/node_modules/connect-busboy/index.js:14:14
at Layer.handle [as handle_request] (/usr/gserv/services/node_modules/express/lib/router/layer.js:95:5)
任何帮助,非常感谢。
我不是试图发送一个消息。设置Firebase的第一步是使用此视频中的过程向用户请求通知许可(https://firebase.google.com/docs/cloud-messaging/js/client)。我需要先获得许可,然后我可以获取用户令牌以便稍后发送消息。 –
但是请求权限的代码必须在用户的浏览器中运行,而不是在服务器端的node.js进程中运行。 –