【问题标题】:How to read from a database, add some of that information to html, and send that html to a user?如何从数据库中读取,将一些信息添加到 html,然后将该 html 发送给用户?
【发布时间】:2022-08-21 13:35:57
【问题描述】:

我正在设计一个网站,用户可以在页面上上传 cmets,其他用户应该可以看到这些 cmets。我达到了将 cmets 存储在数据库中的阶段,并且我知道它们应该在 html 中的位置,我需要以某种方式连接这两个东西。

我在服务器端使用 express 和 Node.js,在数据库端使用 postgres。

当我问这个问题时,在我看来让用户访问数据库是非常糟糕的做法。所以我认为服务器需要根据用户的请求访问数据库,修改通用 html 的 cmets 显示现在具有特定 cmets 的信息,将其保存到文件中,并将其发送到用户。为此,我正在考虑在服务器端创建一个“html 生成器函数”,它接收特定的评论信息并将其放入通用的 html 中,但这似乎不能很好地扩展,我m 担心存储中间文件效率低下。

这是正确的方法吗?你能告诉我已知的不那么hacky的方法吗?

如果你建议使用php,是不是每次我们使用php连接服务器和断开连接的问题?我希望服务器在启动时连接一次并在需要时进行所有获取,而不是每次都连接。在我看来,这将涉及更少的开销(如果我错了,请纠正我......)

  • “html 生成器”通常被称为“模板引擎”。请参阅 Express.js 文档中的 Using template engines with Express。 MDN 的Express.js tutorial 将模板以及数据库使用置于上下文中;最好也对其进行审查。
  • 好吧,它应该被称为 html 生成器 >:( 不过谢谢!
  • 模板生成器是常见的做法吗?你还能怎么做一个facebook或youtube?
  • 是的,使用模板引擎从模板生成 HTML 非常普遍。您还可以听到术语“数据绑定引擎”,它是上面的一个步骤——它们在客户端工作,并通过动态修改 HTML 以适应用户操作,让模板实时做出反应。另一种方法是实际上有一个DSL,它描述了一个网页,然后对其进行编译;但这是少数,尽管它被一些巨人使用。我可以相当自信地说,几乎所有严肃的网站都使用模板或 Web DSL。

标签: html database


【解决方案1】:

有关完整解决方案,请参阅 Amadan 的评论。它被称为“模板引擎”

编辑: 我强烈推荐学习 React。我学习了 EJS,但很难扩展。只需多一点投资,React 就更容易编程。旧网络的声明性要少得多(EJS 也少得多)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-09
    • 2015-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-10
    相关资源
    最近更新 更多