【问题标题】:Ember.js on the server服务器上的 Ember.js
【发布时间】:2012-06-25 05:08:40
【问题描述】:

我正在通过 ember.js 开发一个非常动态的 Web 应用程序。客户端与服务器端 JSON API 进行通信。用户可以做出各种选择,并从各种角度查看切分和过滤的数据,所有这些数据都来自所述 API。

问题是,我还需要从相同的数据生成静态页面(Google 可以理解)。这些静态页面代表预定义的视图,不允许太多交互;它们旨在用作来自搜索引擎的用户的登录页面。

当然,我想尽可能多地从我的动态 Web 应用程序中重用以生成这些静态页面,所以我想到的自然方向是实现一个服务器端模块来呈现这些将重用的页面尽可能多地使用我的 Ember.js 视图和代码。

但是 - 我找不到任何关于它的材料。 Ember 的文档说“虽然可以在服务器端使用 Ember.js,但这超出了本指南的范围。”

谁能指出什么可以在服务器端重用,以及设计应用程序以实现最大程度重用的最佳实践?

当然,如果您认为我在这里的想法没有意义,我也很高兴听到这个(以及为什么):-)

谢谢! C.

【问题讨论】:

标签: node.js ember.js


【解决方案1】:

Handlebars - Ember 的模板引擎 - 确实在服务器上运行(至少在 Node.js 下)。我在自己的项目中使用过它。

在为页面提供 HTTP 请求时,您很可能会使用现有模板:从数据库中提取相关数据,将其按摩到 JSON 对象中,将其与正确的模板一起提供给车把,然后发送结果给客户。

【讨论】:

  • 谢谢。我想这是我至少能做的;仍然想知道是否还有更多:)
  • 有趣的是我发现了这个。我必须这样做。我很好奇您能否向我们介绍您所走的道路。
  • 不幸的是,这不仅仅是关于车把。如果您想让您的应用程序完全可抓取,您还需要在服务器端处理其他事情 - 操作、事件等......
【解决方案2】:

看看http://phantomjs.org/ 您可以使用它在服务器上呈现页面并返回纯 html 版本。

你必须让它遵循谷歌的 ajax 抓取指南:https://developers.google.com/webmasters/ajax-crawling/docs/getting-started

【讨论】:

    猜你喜欢
    • 2012-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-04
    • 2014-04-22
    相关资源
    最近更新 更多