Какова роль промежуточного программного обеспечения express в перьях js, когда хуки могут выполнять те же функции? - PullRequest
0 голосов
/ 30 апреля 2020

В команде feathers generate app у нас есть папка промежуточного программного обеспечения, которая используется для добавления любых функциональных возможностей промежуточного программного обеспечения в службу, однако хуки могут достигать того же, почему предоставляется промежуточное программное обеспечение? Я что-то упустил?

1 Ответ

2 голосов
/ 01 мая 2020

Вы правы, хуки могут делать почти все, что может делать промежуточное программное обеспечение Express. Разница в том, что они независимы от транспорта . Это означает, что перехватчики будут работать независимо от того, используете ли вы службу внутренне, через веб-сокет (Socket.io), HTTP (Express) или любой другой тип соединения. Я написал больше о преимуществах этого независимого от транспорта дизайна в Шаблоны проектирования для современных веб-API .

Перья полностью совместимы с Express, что означает, что обычное промежуточное ПО все еще доступно для вас, но большинство приложений Feathers имеют очень мало или обычно вообще не имеют промежуточного программного обеспечения. Причина, по которой вы по-прежнему используете промежуточное программное обеспечение Express (которое не запускается при использовании соединения Socket.io), заключается в том, чтобы преобразовывать и указывать c в HTTP-запрос и ответы. Таким образом, сервисы и хуки могут обрабатывать их таким образом, чтобы им не нужно было знать, откуда поступает эта информация. Вот некоторые примеры:

Для всего остального вы можете и должны использовать хук. Таким образом, ваше приложение останется в будущем, и вам не придется ничего менять при переходе на другой транспортный механизм.

...