【发布时间】:2020-10-23 17:33:27
【问题描述】:
我正在尝试将 node.js 中的功能部署到 firebase。我收到了错误
函数加载用户代码失败。错误消息:错误:请检查您的函数日志以查看错误原因:
我试图阅读文档,但我无法理解它。
我对 node 很陌生,(比如 3 天新。)但我确实读到 node.js 从 8 更新到 node 10。有人可以告诉我我的函数日志是否不正确吗??
const functions = require('firebase-functions');
var admin = require("firebase-admin");
var serviceAccount = require("mydirectory");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "myfirebaseproject.com"
});
exports.sendPushNotifications = functions.https.onRequest((req, res) => {
res.send('Attempting to send push notification')
console.log('LOGGER --- Trying to send push message..');
var uid = 'uidstring'
var fcmToken = 'myFCMToken'
return admin.database().ref('/users/' + uid).once('value', snapshot => {
var user = snapshot.val();
console.log("username is " + user.name);
var payload = {
notification: {
title: 'Push Notification Title',
body: 'Test Notification Message'
}
}
admin.messaging().sendToDevice(fcmToken, payload)
.then(function(response) {
console.log('Succesfully sent message:', response);
console.log(response.results[0].error);
})
.catch(function(error) {
console.log('Error sending message', error);
});
})
})
package.json
{
"name": "functions",
"description": "Cloud Functions for Firebase",
"scripts": {
"serve": "firebase emulators:start --only functions",
"shell": "firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"engines": {
"node": "10"
},
"dependencies": {
"firebase-admin": "^8.10.0",
"firebase-functions": "^3.6.1"
},
"devDependencies": {
"firebase-functions-test": "^0.2.0"
},
"private": true
}
【问题讨论】:
-
该错误提示您应该查看 Firebase 控制台中的函数日志以获取更多信息。
-
@DougStevenson 谢谢,我将其缩小到详细的堆栈跟踪:错误:找不到模块,您是否在 package.json 依赖项中列出了所有必需的模块?我已经用我的包裹更新了我的问题。你能帮我了解我的下一步应该是什么吗?
标签: node.js firebase-realtime-database google-cloud-functions