Backbone.js 骨干路由在使用Yeoman刷新时中断

Backbone.js 骨干路由在使用Yeoman刷新时中断,backbone.js,yeoman,Backbone.js,Yeoman,我正在构建一个应用程序,它有主干网和Yeoman。我的路线有问题 我已设置了以下路线: 'test' : testMethod, '' : index 我已建立pushstate: Backbone.history.start({pushState: true}); 我用的是铬 如果输入myApp.com#testurl将更改为myApp.com/test,并且testMethod()将正确触发 但是,如果我尝试直接转到myApp.com/test,或者在浏览器将url从#更改为/后刷新,我

我正在构建一个应用程序,它有主干网和Yeoman。我的路线有问题

我已设置了以下路线:

'test' : testMethod,
'' : index
我已建立pushstate:

Backbone.history.start({pushState: true});
我用的是铬

如果输入
myApp.com#test
url将更改为
myApp.com/test
,并且
testMethod()
将正确触发

但是,如果我尝试直接转到myApp.com/test,或者在浏览器将url从#更改为/后刷新,我会得到404


我正在使用Yeoman内置服务器来测试页面。这可能是问题的原因吗?

我不确定您是否在Yeoman内使用BBB。如果你是,这不应该是一个问题。如果您没有使用BBB,这是一个已知的问题。BBB的重写规则设置正确,可以使用pushstate,但yeoman的内置服务器似乎不采用这种方式。您可以使用自己的重写规则编辑grunt.js文件,以使pushstate正常工作。上述链接中的一些用户已成功完成此操作

当你的应用上线时,你需要通过你的服务器提供这些URL,或者编辑你的重写规则来完成同样的工作。如果是后者,并且您的应用程序依赖于SEO,那么SEO将受到很大影响。

可能会重复