首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Node、EJS和Firebase实现实时数据库模板

使用Node、EJS和Firebase实现实时数据库模板
EN

Stack Overflow用户
提问于 2018-06-16 19:47:10
回答 1查看 1.1K关注 0票数 1

我是Node JS新手,我正在从客户端聊天应用迁移到服务器端应用的过程中。当我的应用程序只是客户端时,对数据库的任何更改都会触发数据再次加载到div中,从而为用户提供实时数据。我的问题是,在使用EJS时,我失去了实时功能。有没有一种方法可以保持实时性?

app.js

代码语言:javascript
复制
const firebase = require("firebase");
const http = require("http");
const ejs = require("ejs");
const express = require("express")
const app = express();

app.set('view engine', 'ejs');

firebase.initializeApp({
    <MY-CREDENTIALS>
  });

firebase.database().ref("posts").once("value").then(function(snap) {
  posts = snap.val();
}).catch(function(err) {
  console.log("Error: " + err);
});

app.get('/', function(req, res) {
    res.render('pages/index', {"posts": posts});
});

app.listen(8080);

console.log('Listening on 8080');

index.ejs

代码语言:javascript
复制
<% Object.keys(posts).forEach(function(key) { %>
      <div class='post'>
        <h4 class='body'><%- posts[key].body %></h4>
      </div>
      <br>
    <% }); %>
EN

回答 1

Stack Overflow用户

发布于 2018-06-16 21:47:01

这当然是可能的,但这不是微不足道的。

您需要在服务器和客户端之间建立连接,然后在更新到达时从服务器向客户端发送更新。Firebase使用web套接字来实现这一点,因此这似乎是一种合乎逻辑的方法。

但正如所说的:这是相当复杂的,你应该真的想知道这是否是你想要的方向。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50887636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档