【发布时间】:2018-11-16 00:13:38
【问题描述】:
我的 express 应用有一个休息服务器和一个使用 Backbone 的 SPA。使用 # 历史记录一切正常,即
Backbone.history.start();
如果我这样做:
Backbone.history.start({ pushState: true });
Backbone 路由器停止工作 - Backbone 处理良好的路由(例如#route)在变为 /route 时被发送到 Express。用以下方式表达错误:
Cannot GET /route
我试过了:
Backbone.history.start({ pushState: true, root '/' });
但没有区别。
我也试过了:
app.use('/*', function ...
快递 - 没有区别。
表达 server.js:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
app.use(express.static(__dirname + '/public'));
app.get('/', function(req, res){
res.render('index.ejs');
});
var rest = require('./routes/rest');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use('/rest', rest);
app.listen(3000);
Backbone 路由器(瘦了一点):
const Router = Backbone.Router.extend({
routes: {
'': Controllers.home,
'admin(/:table)(/:id)': Controllers.admin,
'master(/:table)(/:id)': Controllers.master
}
});
Backbone.history.start({ pushState: true });
我不需要任何 SEO,我只想在应用程序的路线中拍摄那些“#”。
【问题讨论】:
标签: javascript node.js express backbone.js url-routing