Если вы веб-разработчик, то наверняка слышали об Express. Express — это веб-фреймворк для Node.js, упрощающий создание веб-приложений. Одной из самых крутых функций Express является поддержка промежуточного программного обеспечения. В этом сообщении блога мы объясним, что такое промежуточное ПО и как его можно использовать для улучшения процесса разработки.

Введение в ПО промежуточного слоя

Итак, что такое промежуточное ПО? Промежуточное ПО — это, по сути, фрагмент кода, который выполняется между моментом получения запроса и моментом возврата ответа. Это позволяет вам изменить входящий запрос или выполнить какую-либо операцию до того, как запустится логика вашего приложения. Кроме того, промежуточное программное обеспечение также можно использовать для изменения исходящего ответа перед его отправкой обратно клиенту.

Зачем использовать ПО промежуточного слоя?

Программное обеспечение промежуточного слоя предоставляет отличный способ модульности вашего кода и повышения его возможности повторного использования. Кроме того, ПО промежуточного слоя можно использовать для выполнения задач, не относящихся к какому-либо конкретному маршруту или приложению. Например, вы можете использовать промежуточное ПО для сжатия тела ответа перед его отправкой обратно клиенту. Это отличный способ повысить производительность вашего приложения.

Еще одно преимущество использования промежуточного программного обеспечения заключается в том, что его можно использовать для обеспечения функций безопасности вашего приложения. Например, вы можете использовать промежуточное программное обеспечение для проверки подлинности пользователя, прежде чем разрешить ему доступ к конфиденциальной информации.

Как использовать промежуточное ПО?

Теперь, когда мы знаем, что такое промежуточное ПО и почему его следует использовать, давайте посмотрим, как его использовать. Промежуточное ПО Express можно добавить с помощью функции use . Эта функция принимает два аргумента: путь и промежуточную функцию. Аргумент пути указывает URL-адрес, для которого будет выполняться функция промежуточного программного обеспечения. Функция промежуточного программного обеспечения — это функция обратного вызова, которая принимает три аргумента: объект запроса, объект ответа и следующую функцию.

Вот простой пример того, как создать компонент промежуточного программного обеспечения, которое регистрирует URL-адрес каждого запроса:

function logURL(req, res, next) {
  console.log(req.url);
  next();
}
app.use(‘/’, logURL);

В этом примере мы используем функцию use, чтобы добавить нашу промежуточную функцию в приложение для URL-адреса, соответствующего ‘/’. Функция промежуточного программного обеспечения просто записывает URL-адрес в консоль, а затем вызывает функцию next. Это важно, потому что это сообщает Express, что функция промежуточного программного обеспечения завершена и что можно перейти к следующему компоненту промежуточного программного обеспечения или логике приложения.

Если вы хотите, чтобы ваша промежуточная функция выполнялась для всех URL-адресов, вы можете просто опустить аргумент пути:

app.use(logURL);

Это приведет к тому, что функция промежуточного программного обеспечения будет выполняться для всех запросов. Хотя этот код будет выполняться для всех URL-адресов, важно отметить, что порядок промежуточного программного обеспечения имеет значение в вашем коде.

Порядок промежуточного программного обеспечения

Важно отметить, что порядок, в котором вы добавляете промежуточное программное обеспечение в свое приложение, может быть важен. Это связано с тем, что каждая часть промежуточного программного обеспечения выполняется сверху вниз. Например, рассмотрим следующий код:

app.use(logURL);
app.use(‘/admin’, verifyUser);

В этом коде промежуточная функция logURL будет выполняться для всех запросов. Однако, если мы переместим наш app.use(logURL) в последнюю строку кода, то он будет выполняться только для запросов, которые не соответствуют «/admin». Это связано с тем, что промежуточная функция verifyUser будет перехватывать все запросы к /admin и может предотвратить вызов функции logURL.

ПО промежуточного слоя для обработки ошибок

Одним из специальных типов промежуточного ПО является промежуточное ПО для обработки ошибок. Этот тип промежуточного программного обеспечения используется для обработки ошибок, возникающих в вашем приложении. ПО промежуточного слоя для обработки ошибок принимает четыре аргумента: объект ошибки, объект запроса, объект ответа и следующую функцию.

Вот простой пример того, как создать промежуточную функцию обработки ошибок:

function errorHandler(err, req, res, next) {
  console.error(err);
  res.status(500).send(‘Something went wrong!’);
}
app.use(errorHandler);

В этом примере мы используем функцию `use`, чтобы добавить в приложение нашу промежуточную функцию обработки ошибок. Если мы получим ошибку в нашем коде, функция промежуточного программного обеспечения для обработки ошибок «поймет» ошибку и обработает ее соответствующим образом. Эта промежуточная функция просто записывает ошибку в консоль, а затем устанавливает код состояния ответа на 500 перед отправкой обратно сообщения о том, что «Что-то пошло не так!».

Другие ресурсы для изучения ПО промежуточного слоя Express

То, что мы рассмотрели в этой статье, — это просто введение в промежуточное ПО Express. Промежуточное ПО является чрезвычайно мощным, но может показаться громоздким и сложным. Из этой статьи вы познакомились с основными понятиями промежуточного программного обеспечения Express. Часто визуализация этих концепций помогает визуализировать, поэтому я приведу несколько видеороликов, которые помогли мне изучить промежуточное ПО Express.

Эти видеоролики помогут углубить ваши знания о промежуточном ПО и помогут визуализировать его использование в рабочей среде.

Надеюсь, эта статья вас чему-то научила! Удачи в проектах по кодированию!

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Посетите наш Community Discord и присоединитесь к нашему Коллективу талантов.