#express
Вопрос:
У меня есть экспресс-приложение. Один аспект, который меня немного расстраивает, заключается в том, что, учитывая URL-адрес моего приложения, мне приходится вручную просматривать маршрутизаторы, чтобы определить, где оно заканчивается.
Есть ли функция, которая может определить это для меня, или я могу написать функцию для этого?
Комментарии:
1. Это не то, что поддерживает Express, и не то, для чего он предназначен. Вам придется погрузиться в непубличные и недокументированные внутренние компоненты Express, чтобы попытаться выяснить, какие обработчики маршрутов соответствуют заданному URL-адресу. Вам придется ознакомиться с внутренними устройствами маршрутизаторов и уровней.
2. Я не знаю, почему тебя это расстраивает. Вы явно определяете свои маршруты, чтобы маршрутизацию выполнял Экспресс, а не вы. Он хранит все ваши определенные маршруты в своих собственных внутренних структурах данных, а затем просматривает их, чтобы увидеть, какие из них соответствуют входящему пути http-запроса. Какую проблему вы на самом деле пытаетесь решить здесь? Почему вы пытаетесь выполнить маршрутизацию людей?
3. К вашему сведению, если вы пытаетесь выяснить, какой контроллер выполняется для данного URL-адреса, то, возможно, вам следует внести некоторые записи в свои контроллеры, которые можно включить/выключить с помощью флага отладки. Затем, когда вам нужно знать что-то подобное, вы можете включить флаг отладки и получить дополнительную запись в журнал. Вы также можете установить точку останова отладчика в каком-нибудь раннем промежуточном программном обеспечении, а затем пройти через механизм маршрутизации и посмотреть, какой контроллер, по его мнению, соответствует и вызывает.
4. @jsfriend00: Да, ведение журнала-хорошее решение для разработчиков, но не столько для производства, например, если кто-то говорит мне, что они столкнулись с ошибкой по определенному URL-адресу
5. Как вы можете не знать, какой маршрут должен соответствовать данному URL-адресу? Разве у вас нет файлов, в которых определены ваши маршруты? Не должно занять много времени, чтобы увидеть, какой из них будет соответствовать заданному URL-адресу, просто проверив код. У вас не должно быть множества конфликтующих маршрутов, которые усложнили бы это.