pushState
Backbone.js 的 0.5 版更新引入了支持。
从骨干文档:
请注意,使用真实 URL 需要您的 Web 服务器能够正确呈现这些页面,因此还需要进行后端更改。例如,如果您有 /documents/100 的路由,如果浏览器直接访问该 URL,则您的 Web 服务器必须能够提供该页面。对于完整的搜索引擎可抓取性,最好让服务器为页面生成完整的 HTML ......但如果它是一个 Web 应用程序,只需呈现与根 URL 相同的内容,然后用 Backbone 填充其余内容视图和 JavaScript 工作正常。
这似乎是一个微不足道的问题,但我想知道是否有人可以帮助我处理一些特定的(最好是express)node.js服务器代码。我应该如何处理这些路线?我有点困惑。
这是我的应用程序路由器模块的相关摘录:
var Router = Backbone.Router.extend({
routes: {
'': 'index',
'about': 'about'
},
index: function() {
indexView.render();
},
about: function() {
aboutView.render();
}
});
var initialize = function() {
var router = new Router;
Backbone.history.start({ pushState: true });
}
return {
initialize: initialize
};
我这里只有一个顶级路由和一个关于页面的路由。那么我应该如何设置一个允许我导航到的节点服务器:
domain.com
domain.com/about
domain.com/#/about // <- for browsers that don't support pushState