Я работаю над одностраничным веб-приложением, используя Node + Express и handelbars для tempalting. Все в настоящее время хорошо работает с index.html, который работает с довольно стандартным файлом server.js:
var express = require('express');
var server = express();
server.use(express.static(__dirname + '/public'));
var port = 10001;
server.listen(port, function() {
console.log('server listening on port ' + port);
});
Это отлично работает при загрузке с http://localhost:10001/
. Моя проблема заключается в том, что я использую состояния push в приложении, поэтому браузер может отображать URL-адрес, например http://localhost:10001/foo/bar
, а затем, если я обновляю страницу, я получаю сообщение об ошибке Cannot GET /foo/bar
, поскольку для этого нет пути.
Итак, мой вопрос, и простите мою невероятную нообильность, когда дело доходит до node, могу ли я сделать так, чтобы все запросы направлялись на index.html? JavaScript в моем приложении может обрабатывать отображение правильного содержимого на основе параметров URL-адреса при загрузке страницы. Я не хочу определять пользовательские маршруты, поскольку число будет большим, и пути для них могут динамически меняться.