【发布时间】:2012-12-18 21:05:21
【问题描述】:
可能重复:
Reusing backbone views/routes on the server when using Backbone.js pushstate for seo/bookmarking
我正在使用 Backbone.js 和一堆其他模块来处理 Single Page App 方法。我的目标:
网站必须是 SEO 友好的
服务器引导 html 代码到客户端和存储在 JSON 模型中的数据。
子序列动作全部由 Javascript 处理(例如渲染新屏幕,使用 Backbone 路由器更改 url)。
我的问题是:如何构建服务器以与每个路由器 url 上的 Javascript 保持一致并保持它DRY?
例如:如果用户去wwww.mysite.com然后点击某个链接去www.mysite.com/page/2,那必须和让他先直接去www.mysite.com/page/2一样加载。
这似乎是一个老话题,但我找不到任何可靠的资源来说明在服务器端处理此问题的最佳方法,而无需在 Javascript 中重复模板代码。
我正在考虑的一个选项是将后端拆分为 Node.js 和另一台服务器以仅处理 API。 Node.js 服务器以某种方式共享模板构建代码作为 Javascript 前端
无论如何,如果这里不适合提出此类问题,我很乐意听到一些建议和道歉。
【问题讨论】:
-
Socket.io 是个有趣的想法。我必须在那里做更多的研究。但是在 hashbang 一上,我从我的专家朋友那里得到了很多建议,让我远离 hashbang 并坚持使用 pushState。我也更喜欢 pushState,而 Twitter 似乎已经远离它 news.ycombinator.com/item?id=3614037
标签: node.js model-view-controller backbone.js template-engine singlepage