Express路由器与Backbone pushstate冲突

时间:2013-02-23 01:19:55

标签: node.js backbone.js express

Express /路线为我的Backbone的应用index.html提供服务。

我在Backbone中使用pushstate但Backbone应处理的路由正由express处理,提供404个响应。

如何设置Express以服务index.html,但是将其他路由委托给Backbone?

2 个答案:

答案 0 :(得分:3)

在这种情况下,您有多种选择:

  1. 您可以拥有一个处理与客户端相同路由的服务器,并返回相同的结果。它很难实现,但它提供了一个很好的网址。 Github这样做了。

  2. 始终返回index.html并处理路由客户端。 (这有些难看并难以维护)

  3. 不要使用pushstate。阿门。

答案 1 :(得分:1)

您可以使用/ *方法。把它作为最后的路线。这样,其他路由(例如任何服务API调用)将在catch的所有路由匹配之前匹配。这也是Backbone处理其路线的方式。