Мое экспресс-приложение имеет сервер отдыха и SPA, использующий Backbone.Все работает нормально, используя # history, то есть
Backbone.history.start();
Если я сделаю:
Backbone.history.start({ pushState: true });
, то маршрутизатор Backbone перестанет работать - будет отправлен маршрут, который прекрасно обрабатывает Backbone (например, #route)Выразить, когда это становится / маршрут.Экспресс ошибки с:
Cannot GET /route
Я пытался:
Backbone.history.start({ pushState: true, root '/' });
, но без разницы.
Я также пытался:
app.use('/*', function ...
в Express- без разницы.
express 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,Я просто хотел бы получить эти "#" в маршрутах приложения.