2013-07-23 2 views

ответ

5

Какой смысл использовать RegExp здесь? Экспресс-шаблоны проще, но почти столь же мощным, как регулярные выражения:

app.get('/blog(?:/p/:page([0-9]+)?)?', blog.list); 

Этот маршрут будет соответствовать всем следующим адресам:

  • /blog
  • /blog/
  • /blog/p
  • /blog/p/
  • /blog/p/123

В blog.list контроллер req.params.page будет содержать номер страницы или будет undefined, если он не был поставлен.

+0

Это то, что я ищу. Благодаря... –

0

Похоже, что могут возникнуть веские причины сделать эти отдельные маршруты, но я не уверен, что вы делаете с вашим приложением.

app.get(/^\/blog(?:\/p\/([0-9]+)?)?/, blog.list); 

req.params [0] должно быть "20" на маршруте/блог/р/20, с req.params как null для/блог/р/или/блог /, но с с и как функциональный маршруты.

Смежные вопросы