7

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

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

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

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

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

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

谢谢!C。

4

2 回答 2

5

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

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

于 2012-06-23T22:01:39.423 回答
3

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

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

于 2012-08-20T14:32:21.560 回答