【问题标题】:Can I use my own NodeJS server in between the client and Firebase and still use methods like "on()"?我可以在客户端和 Firebase 之间使用我自己的 NodeJS 服务器并且仍然使用“on()”之类的方法吗?
【发布时间】:2016-11-21 02:32:39
【问题描述】:

我正在使用 Firebase 创建一个 Web 应用程序。应用程序的客户端与我自己的 NodeJS 服务器通信,如有必要,该服务器又与 Firebase 应用程序通信。

Firebase 提供了一些很酷的功能,例如 on() 函数,它会在 Firebase 中的数据被修改时自动更新。

我有什么方法可以在我的 NodeJS 应用程序中使用它,以便我的服务器将更新传递给客户端,而无需客户端直接连接到 Firebase?

我尝试过包含这样的on 函数,但是在更新数据并且服务器崩溃时出现错误。显然,如果没有明确的请求,Node 不能只发送另一个响应。有什么建议吗?

app.get('/project/save', function(req, res) {
    var result = firebase_admin.database().ref().on('value', function(d){
        console.log(d.val());
        return res.status(200).json(d.val());
    });
});

【问题讨论】:

标签: javascript node.js firebase firebase-realtime-database


【解决方案1】:

您绝对可以在您的用户和 Firebase 数据库之间放置您自己的 node.js 服务器。但是通过这样做,您将扮演应用服务器的角色。这意味着您还必须为 Firebase 功能提供自己的实现/代理,例如 on() 方法。

链接答案中的方法更容易,并且可以为您带来大部分相同的好处。它也记录在this documentation

因此,您的用户和后端代码(在本例中是在 App Engine 柔性环境中运行,但它可以在任何受信任的环境中运行)本质上都是 Firebase 数据库的客户端。

我们最近在 Firebase 开发者峰会上发表了一次演讲,其中我们也介绍了这种方法:Develop mobile apps without infrastructure

【讨论】:

    猜你喜欢
    • 2021-08-07
    • 1970-01-01
    • 2015-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-01
    • 1970-01-01
    相关资源
    最近更新 更多