В ExpressJS, как правильно следовать по одному маршруту с помощью RegEx?RegEx в ExpressJS Маршрут
app.get('/blog', blog.list);
app.get('/blog/p/:page?', blog.list);
В ExpressJS, как правильно следовать по одному маршруту с помощью RegEx?RegEx в ExpressJS Маршрут
app.get('/blog', blog.list);
app.get('/blog/p/:page?', blog.list);
Какой смысл использовать 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
, если он не был поставлен.
Похоже, что могут возникнуть веские причины сделать эти отдельные маршруты, но я не уверен, что вы делаете с вашим приложением.
app.get(/^\/blog(?:\/p\/([0-9]+)?)?/, blog.list);
req.params [0] должно быть "20" на маршруте/блог/р/20, с req.params как null
для/блог/р/или/блог /, но с с и как функциональный маршруты.
Это то, что я ищу. Благодаря... –