【问题标题】:Firebase does not work with NodeJSFirebase 不适用于 NodeJS
【发布时间】:2016-04-16 12:29:58
【问题描述】:

按照 Firebase 的教程,我能够使用 cdn 立即从前端发布数据:

<script src='https://cdn.firebase.com/js/client/2.2.1/firebase.js'></script>

和:

      var myDataRef = new firebase('https://intense-torch-1234.firebaseio.com/');

      $('#messageInput').keypress(function (e) {
        if (e.keyCode == 13) {
          var name = $('#nameInput').val();
          var text = $('#messageInput').val();
          myDataRef.push({name: name, text: text});
          $('#messageInput').val('');
        }
      });

      myDataRef.on('child_added', function(snapshot) {
        var message = snapshot.val();
        console.log('TESTING', snapshot);
      });

这会显示在我的 Firebase 应用位置。

我需要将它用于 NodeJS,所以我安装了NPM Firebase module

我在这里做的几乎一样......

var firebase = require('firebase');

exports.handler = function (event, context, callback) {

    var myDataRef = new firebase('https://intense-torch-1234.firebaseio.com/');

    myDataRef.push({name: 'myname', text: 'sometext'});

    myDataRef.on('child_added', function(snapshot) {
        var message = snapshot.val();
        console.log('TESTING', snapshot.val());
    });

控制台日志在我的请求(来自 Slack)进入后触发,并显示数据正在进入。但是,它没有在我的 Firebase 数据库中更新。

我需要为 Node NPM firebase 做其他配置吗?

【问题讨论】:

  • add a callback to your push method返回什么错误? JS 控制台中有什么? export.handler() 是如何调用的?
  • push()调用中添加一个completion handler,它会告诉你写操作失败的原因:myDataRef.push({name: 'myname', text: 'sometext'}, function(error) { console.log(error); });

标签: javascript node.js firebase


【解决方案1】:

其他配置需要按照说明使用require导入包。

var Firebase = require('firebase');
var myRootRef = new Firebase('https://myprojectname.firebaseIO.com/');
myRootRef.set("hello world!");

如果不这样做,节点也应该有错误消息。

【讨论】:

  • 是的,我知道这一点。我没有在 sn-p 中包含它
猜你喜欢
  • 2016-11-10
  • 2014-09-20
  • 2018-08-02
  • 1970-01-01
  • 2017-07-16
  • 2018-12-15
  • 1970-01-01
  • 1970-01-01
  • 2018-10-06
相关资源
最近更新 更多