【问题标题】:Node framework to render on both ends两端渲染的节点框架
【发布时间】:2013-12-14 22:14:39
【问题描述】:

我最近开始学习 node 并尝试构建一个应用程序。我正在阅读关于在哪一端渲染单页应用程序更好。

由于更快的初始加载和更好的 seo,最好在后端渲染

最好在前端渲染,因为使用 ember、backbone、angular 等框架,您可以绑定变量并轻松更新它们,而无需过多地通过 DOM。

我得出的结论是尝试混合方式(后端初始,前端更新)。是否有一些可靠的框架?

【问题讨论】:

    标签: node.js rendering hybrid


    【解决方案1】:
    • 来自 AirBnB 的 Rendr 主要基于骨干和骨干式的设计选择
    • Artsy 的Ezel 也是基于主干的。 Blog post announcing Ezel
    • 来自 Nodejitsu 的 flatiron 使用在 node.js 和浏览器中运行的 plates 模板库
    • Derby 在 node.js 和浏览器中运行

    目前,为了完整起见,我会注意到 MeteorAngularJS 目前仅限浏览器。我怀疑这两个项目可能会在 2014 年晚些时候提供一些服务器端渲染选项。

    【讨论】:

    • 谢谢,我听说过,但没有意识到它是这样做的。还有其他人吗?
    • 目前,这是我所知道的唯一一个以您描述的方式解决您描述的问题的方法。我怀疑鉴于 angularjs 的流行,有些人正在使用 angularjs 解决这个问题。快速搜索发现:github.com/ithkuil/angular-on-server
    【解决方案2】:

    您的假设是正确的,混合方法似乎是黄金方式,因为它结合了客户端生成的 UI 的优势(快速性、动态性、离线准备)和服务器端呈现的 UI(主要是页面构建)的优势速度)。这就是 Twitter 从客户端 JavaScript 方法迁移回服务器呈现内容的原因 [1]。

    Ember JS 将很快引入一个名为 FastBoot [2] 的功能,它允许根据您的要求构建一种混合方法来呈现页面。 我不知道有任何其他框架本质上支持这一点。 当然,您总是可以启动像 PhantomJS 这样的无头浏览器在服务器端进行渲染,但透明地转换到客户端模式是未知的领域。

    [1]https://blog.twitter.com/2012/improving-performance-on-twittercom

    [2]http://emberjs.com/blog/2015/01/08/inside-fastboot-faking-the-dom-in-node.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-23
      • 2014-11-03
      • 2015-09-29
      • 1970-01-01
      • 2018-10-26
      • 2012-02-18
      • 1970-01-01
      相关资源
      最近更新 更多