Почему я предпочитаю Nest JS Node JS
Введение:
Прежде чем начать, позвольте мне сказать вам, что я мало что знал о Node или Nest, поэтому мне нужно было поработать над ними обоими и подтвердить, что мы должны использовать в нашем project.
Итак, у меня есть 2 варианта: Nest или Node (Express). Так что у меня есть время тогда я копаться в нем. Я написал небольшое приложение Node js, используя Express, а также еще одно небольшое приложение, используя Nest.
Общее отличие:
Хотя Nest также использует Express, но сам фреймворк очень помогает в реализации, Nest также предоставляет альтернативный способ изменить базовый фреймворк с Express на Fastify. Express больше похож на неструктурированный, под неструктурированным я подразумеваю, что нам нужно позаботиться о шаблоне проектирования самостоятельно, он не заставляет нас и не помогает нам в этом. Nest больше похож на хорошо организованную структуру, которая больше похожа на структурированную, которая следует шаблону проектирования, она помогает разработчикам кодировать определенным образом и использовать определенные инструменты.
Он также заботится обо всех шаблонах и стилях, которые должны заботиться. при написании заявки. От использования try-catch до синтаксического анализа тела для использования промежуточного программного обеспечения и использования других третьих сторон, таких как swagger и т. Д., Их действительно легко использовать, просто инициализируйте swagger в основном файле, а затем добавьте конкретную аннотацию в файл вашей модели, после чего все будет обработано. включая структуру вызовов, которую он уже получил от декораторов, используемых в файле контроллера. Поэтому нам не нужно заботиться об этих вещах при добавлении еще одной новой функциональности/модуля в наш проект. Его шаблон позволяет нам следить за потоком контроллера, сервиса и репозиториев.
JavaScript и TypeScript:
Node на самом деле использует JavaScript, но мы можем использовать машинописный текст в Express, но это не настоящий машинописный текст. JavaScript прост в использовании, и вы можете сэкономить много кода, но здесь нет строгой типизации, такой как type script, поэтому всегда есть вероятность создания ошибок. Как и в JavaScript, если вы отправляете неправильный объект и значение типа diff, которое не ожидалось, вам нужно потратить много времени на отладку. Но с типом script вы будете использовать правильный шаблон, который не позволит вам этого сделать. вам нужно следовать строгой типизации, и вы не столкнетесь с такими проблемами.
Архитектура.
Компания Nest предлагает готовую к использованию архитектуру приложений, используя ее основные компоненты. Основные компоненты NestJS:
- Модули: организуйте код и разделите функции на повторно используемые логические части.
- Провайдеры или услуги: основная логика находится на этом уровне. Службу можно внедрить в контроллеры или другие службы.
- Контроллеры: обрабатывают все входящие запросы со стороны клиента, а также отвечают клиенту.
Хотя, с другой стороны, Express не требует какой-либо конкретной архитектуры, которая может обеспечить гибкость, но это может быть проблемой и может увеличить сложность, если команда большая и разработчики работают над разными аспектами продукта.
Модель, управляемая доменом:
мы можем определить несколько модулей в одном корневом модуле в Nest. Далее модули могут инкапсулировать другие сервисы, репозитории и контроллеры. Таким образом, мы можем логически распределить весь проект в логический домен.
Если служба или провайдер находятся в одном модуле, нам не нужно внедрять их в контроллер или класс службы, но если нам нужно включить другие поставщиков и услуг, то мы можем включить в него. Таким образом, мы можем создать понятный и многоразовый код с учетом предметной области.
Тестирование:
Nest CLI предлагает Jest в качестве среды тестирования. Всякий раз, когда создается служба, перехватчик или контроллер, CLI создает файл спецификаций. Все эти файлы генерируются автоматически и могут запускаться прямо из терминала. Хотя Express с этим не справляется. В экспрессе нам нужно написать удаленный код для тестирования.
Вывод:
NestJs — одна из быстрорастущих сред NodeJ с большим количеством пользователей. Так что, как и я, если вы начинаете с нового проекта и путаетесь между ними, тогда выбирайте Nest. Это сделает вашу жизнь проще, помогая вам столько, сколько вы ожидаете. Также там потрясающая документация, вы можете найти все, что захотите, на их веб-сайте. Вы можете узнать больше на их веб-сайте Документация Nest.
Вы также можете связаться со мной напрямую по адресу https://twitter.com/TalhaSa87536114.