云功能-无法查看将我的功能部署到Firebase控制台中

时间:2018-10-03 23:17:34

标签: javascript firebase google-cloud-functions

我是Firebase功能的新手,到目前为止,我一直爱着它们!但是我遇到了一个小问题,我有一些问题。

按照Realtime Database节点js的读写指南进行操作之后,我现在的目标是从数据库中读取一个值,我正在尝试与JavaScript语法联系以使用该强大工具。

现在,我做了这个小功能,只读取数据库中的值

const functions = require('firebase-functions'); 
const admin = require('firebase-admin'); 
admin.initializeApp(); //init firebase admin

//Creating my ref
var db = admin.database();
var ref = db.ref("Test/name"); 

//Getting the results just once
ref.once("value", function(snapshot)  {

    console.log(snapshot.val());

}, function(error){
    console.log(error.val());
});

现在,如果我使用此代码运行firebase-deploy,它就可以很好地工作并完成部署,但是当我转到Firebase控制台-函数时,没有创建函数,我什至看不到它们嵌入了Google Cloud函数页面。

那是我的第一个问题。现在,我有一些问题。

首先,我在部署时从esLint那里获得了

0 errors, 2 warnings potentially fixable with the `--fix` option.

如何使用--fix让esLint自行修复警告?

第二:由于Im使用可视代码编写和查看我的代码,所以我很想知道是否存在自动关闭函数的快捷方式,例如在Java中{之后按Enter。

第三:关于javascript语法,有什么好的教程可以使我学得更好一些,并且可以更好地理解javascript以部署生产代码吗?

谢谢!

1 个答案:

答案 0 :(得分:4)

您共享的代码段不是有效的Firebase云功能。

如果您查看examples on github,将会看到需要为云功能定义触发器。是否触发了HTTP请求,PubSub,实时数据库写入/更新/删除/创建。有很多不同的选择。

您还需要给函数命名,以便可以在Firebase中正确设置它。

如果我正确地遵循了您的代码段,则似乎您正在尝试获取/test/name的值,该示例函数将向您显示/test/name的值变化时的值。

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();


exports.testNameChange = functions.database.ref('/test/name')
  .onWrite(change => {
    // Get the snapshot of `/test/name`
    if (change.after.exists()) {
      const snapshot = change.after.val();

      // Log that value.
      console.log(snapshot);
    } else {
      console.log('Record Deleted');
    }
  });