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進程中運行。 –