这是我的路由器:
var MyRouter = Backbone.Router.extend({
initialize: function(){
Backbone.history.start({ pushState:true });
},
routes: {
'hello' : 'sayHello'
},
sayHello: function(){
alert('Saying hello');
}
});
注意,我使用{ pushState:true }
提供没有哈希片段的网址。
我还使用Node.js服务器来处理路由:
var express = require('express');
var app = express();
app.use(express.static(__dirname));
app.listen(3010);
当我导航到路线http://localhost:3010#hello
时,我的浏览器会将其更改为http://localhost:3010/hello
但它运行正常。但是,当我亲自导航到http://localhost:3010/hello
时,我收到Cannot GET /hello
错误。
这可能有一个简单的答案,但任何人都可以对我可能做错的事情有所了解吗?
提前致谢。
答案 0 :(得分:0)
添加快速路由以处理任何网址片段
app.use('/*', function(req, res) {
// send your backbone app
req.sendFile(__dirname + '/index.html');
});