Я хочу, чтобы этот пост дал разработчикам — особенно новым, младшим разработчикам — краткий справочник по множеству самых популярных зависимостей для популярной среды веб-приложений Node.js Express.

Понимание MVC, или, точнее, фреймворка rMVC, может быть достаточно сложным. Некоторые концепции имеют нюансы в начале карьеры. Вы можете развернуться, просто сформулировав то, как должен работать MVC, и то, как разделяются проблемы, прежде чем вы даже приступите к фактическому созданию кода.

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

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

выражать

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

Мангуста

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

Анализатор тела

Когда данные передаются туда-сюда по проводам, они отправляются эффективным образом. Этот способ беспорядочный — в основном это просто строки на строках на строках. Задача body-parser — придать форму этим строкам и предоставить разработчику управляемые свойства при входящих запросах к серверу (и при исходящих запросах из БД). Если вы пытаетесь использовать форму для отправки почтового запроса в базу данных (вы хотите, чтобы эта информация в форме сохранялась), вам понадобится body-parser, чтобы разрезать эту строку в нужных местах, чтобы вы могли подскажите данные как войти в БД.

Переопределение метода

Когда вы делаете запросы из браузера, вы используете методы HTTP. Они определяют, что вы делаете по отношению к серверу. GET означает, что вы пытаетесь получить данные большую часть времени. POST означает, что вы хотите опубликовать что-то в серверной системе (обычно в базе данных). HTML, который мы используем, поддерживает только эти два метода как есть, поэтому, если вы хотите сделать что-то кроме этих двух вещей, например, DELETE или PUT (обновление), вам нужно предоставить HTML способ указать серверу, что на этот конкретный запрос GET или POST ему действительно нужно УДАЛИТЬ или ПОМЕСТИТЬ. Method-override предоставляет функциональные возможности для этого. Если это зависимость проекта, на который вы смотрите, то это то, для чего он нужен.

Теперь для некоторых быстрых!

Паспорт

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

Cookie-парсер

Что касается паспорта, cookie-parser анализирует данные файлов cookie клиента, чтобы помочь паспорту определить, кто пытается получить доступ к приложению. Это в значительной степени версия body-parser с файлами cookie.

Bcrypt

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

Я надеюсь, что это бриллиант в Интернете, который помог некоторым читателям понять, что они видят в своих зависимостях, а также некоторые функции, которые им могут не хватать, если они не используют их в файле.