我遇到了问题,因为如果我使用functions.database添加一个新函数,我就无法部署我的firebase函数。
我已经按照第一个示例逐步进行了操作,但我认为新版本的firebase-tools存在任何问题。
这是"开始使用的#ur; https://firebase.google.com/docs/functions/get-started?authuser=0
第一步对我有用:
exports.addMessage = functions.https.onRequest((req, res) => {
// Grab the text parameter.
const original = req.query.text;
// Push the new message into the Realtime Database using the Firebase Admin SDK.
return admin.database().ref('/messages').push({original: original}).then((snapshot) => {
// Redirect with 303 SEE OTHER to the URL of the pushed object in the Firebase console.
return res.redirect(303, snapshot.ref);
});
此代码可以部署,但当我将下一个代码添加到上面时,保存的字符串...出现此错误:
firebase deploy --only functions
===部署到' test-app' ...
我正在部署功能 我的职责是:确保启用必要的API ... ✔功能:启用所有必需的API 我的职责是:准备上传的功能目录......
错误:位置1的JSON中出现意外的令牌o
错误代码:
exports.makeUppercase = functions.database.ref('/messages').onWrite((change, context) => {
const original = event.before.val();
const uppercase = original.toUpperCase();
return change.data.ref.parent.child('uppercase').set("uppercase");
})
我通过本地npm安装很多次,在不同的文件夹和项目中安装,但总是相同的
这是我的package.json里面的/ functions
{
"name": "functions",
"description": "Cloud Functions for Firebase",
"dependencies": {
"@google-cloud/logging": "^1.2.0",
"stripe": "^5.8.0",
"firebase-admin": "~5.12.0",
"firebase-functions": "^1.0.1"
},
"scripts": {
"serve": "firebase serve --only functions",
"shell": "firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"private": true
}
任何解决方案?