【问题标题】:How to create a dynamic front end based on Node JS, MongoDB, Sails JS如何基于Node JS、MongoDB、Sails JS创建动态前端
【发布时间】:2013-11-30 22:09:14
【问题描述】:

基本上我正在编写一个应用程序,并在后端使用 Sails、MongoDB 和 Node JS。我将使用 Sail 的 API 功能,并且想知道什么是使应用程序实时的最佳方式。

例如,我可以使用 AJAX 调用 API 并使用 jQuery 操作 DOM 并通过 $.post 更新数据库,然后让模型在后端更新数据库,但是我发现这种方法非常麻烦。更不用说我可以看到代码在一段时间后可能会变得非常难以维护。

我一直在做一些研究,如果我理解正确的话,我似乎可以使用 Backbone、Angular 或 Knockout 来操纵前端的数据/DOM,但是我不确定什么是最好的就我而言,这些方法是否确实适合我的需求:

  • 能够动态获取数据
  • 在用户与页面交互时动态更新数据和 DOM
  • 动态发布更新的数据,后端不进行任何数据转换或尽可能减少数据转换
  • 以上所有异步

由于我不希望这成为关于哪个库最好的激烈辩论,所以我只想知道上述库中是否有任何一个可以满足我的需要,哪个是最精简/最简单/更轻的学习曲线。

【问题讨论】:

  • 找到你喜欢的todomvc.com
  • 具有前端更新的“一页”网站被高估了 IMO。我每天都会看到一些网站无法正常运行,并且在应用它时惨遭失败,而常规页面加载会好得多。除非您知道自己在做什么并且可以使其完美运行,或者您确实需要一个所有内容都动态更新的站点,否则我看不到重点。将静态资源保持在最低限度并使用 Node,您的页面加载速度将如此之快,以至于用户通常不会注意到。另一方面,将 ajax 或套接字用于动态内容和异步功能并没有什么问题。
  • 这个问题太宽泛,也太基于意见,因此不适合所写的 StackOverflow。如果您有一个特定的编程问题并想了解它的工作原理或与其他选项相比的详细信息,那将是一个更好的问题。

标签: angularjs node.js mongodb backbone.js sails.js


【解决方案1】:

不久前我做过类似的研究,当我发现 AngularJS 时,就不再继续寻找了。

您有权提出问题:

能够动态获取数据

在 Angular 中做这件事是纯粹的乐趣。对于非常基本的功能,您拥有$http 服务,它允许您发送 http 请求并在数据到达时注册回调。 对于更复杂的事情,有模块 ngResourceRestangular(外部)。

在用户与页面交互时动态更新数据和 DOM

为了操作 DOM,Angular 引入了directive 的概念。现在基本上是网络的未来(Shodow DOMWeb Components)。在这个时间点,没有什么比这更优雅了。

动态发布更新后的数据,后端不进行任何数据转换或尽可能减少数据转换

是的。 JSON。

以上都是异步的。

是的,当然。

【讨论】:

    【解决方案2】:

    SailsJS 提供interchangeability 的 HTTP 或 socket.io 连接。在您的情况下,我认为套接字会比 AJAX 更合适。

    【讨论】:

      猜你喜欢
      • 2020-12-22
      • 1970-01-01
      • 1970-01-01
      • 2021-02-23
      • 2017-11-24
      • 2023-01-12
      • 2017-11-22
      • 2015-10-07
      • 2017-11-29
      相关资源
      最近更新 更多