我有node.js服务器应用程序(其余API服务)。 我还在客户端有Backbone + Marionette(用于我的服务器端RESTful应用程序)多页面应用程序。 我目前使用Marionette导航,这对于像domain.com/#feedbacks这样的链接非常有用(页面在客户端使用ajax数据进行渲染)。但我也想添加服务器端导航,例如domain.com/feedbacks(适用于谷歌和其他搜索引擎)。
问题是:如何匹配服务器端和客户端导航?
Mb我应该尝试为页面上的所有链接添加事件处理程序,这将执行类似Backbone.history.navigate("/feedbacks")
的操作?但是我有很多不同的哈希链接(#feedbacks)...... Mb有一个更优雅的解决方案吗?谢谢。
我现在的牵线木偶路由器:
var AppRouter = Backbone.Blazer.Router.extend({
routes: {
'': new HomeRoute(),
'sell': new SellRoute(),
'login': new LoginRoute(),
'feedbacks': new FeedbacksRouter(),
'product/:id': new ProductRoute(),
'profile/:id': new UserRoute()
}
})
答案 0 :(得分:0)
我只需要使用:
Backbone.history.start({pushState: true})
而不是:
Backbone.history.start();
它使骨干路由在没有#符号
的情况下工作