Экспресс: поиск маршрута для кода языка в URL - PullRequest
0 голосов
/ 26 октября 2018

Я пытаюсь записать необязательный параметр :lang? из двух символов для этих маршрутов:

/             // lang: undefined
/en           // lang: en
/projects     // lang: undefined
/en/projects  // lang: en

Это моя попытка:

router.get('/:lang([a-z]{2})?*', function(req, res, next) {

}

Но для /projects он устанавливает параметр :lang? как pr.

Как мне этого избежать?

1 Ответ

0 голосов
/ 26 октября 2018

Для решения этой проблемы вы можете попробовать использовать следующий шаблон:

/:lang([a-z]{2})?/:rest(*)?

Здесь вводится еще один необязательный параметр rest для захвата такого трейлинга.

Вы можете проверить живые примеры:

...