Другим способом сделать всеохватывающий обработчик маршрута заключается в следующем:
app.get('/login', function(req, res) {
//... login page
});
app.get('/', function(req, res) {
//...index page
});
app.get('/:pageCalled', function(req, res) {
console.log('retrieving page: ' + req.params.pageCalled);
//... mypage.html
});
Это работает точно так же, как (принято) ответ robertklep, но это дает вам больше информации о том, что пользователь запросил. Теперь у вас есть slug req.params.pageCalled
для представления любой запрашиваемой страницы и может направить пользователя на соответствующую страницу, если у вас несколько разных.
Один gotchya следить за (ТНХ @agmin) с этим подходом, /:pageCalled
только поймать маршруты с одним /
, так что вы не получите /route/1
и т.д. Используйте дополнительные слизней как /:pageCalled/:subPageCalled
для более страниц (ТНХ @softcode)
E. Требовать аутентификацию на всех маршрутах * кроме * **/login ** и **/register **. (Поскольку люди задаются вопросом, почему вы задали этот вопрос) – a20