使用functions.database.ref时,Firebase函数未部署

时间:2018-04-09 16:02:09

标签: javascript firebase google-cloud-functions

我遇到了问题,因为如果我使用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
}

任何解决方案?

0 个答案:

没有答案