Что такое NestJS

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

Он использует прогрессивный JavaScript, полностью поддерживает TypeScript и сочетает в себе элементы ООП (объектно-ориентированного программирования), FP (функционального программирования) и FRP (функционально-реактивного программирования).

NestJS использует надежные платформы HTTP-серверов, такие как Express.

NestJS обеспечивает уровень абстракции выше этих распространенных фреймворков Node.js (Express/Fastify) и предоставляет их API непосредственно разработчику. Это дает разработчикам свободу использовать множество сторонних модулей, доступных для базовой платформы.

Почему NestJS

  • NestJS — это фреймворк, упрощающий разработку. У NestJS есть свои правила, и он предназначен не только для бэкэнд-разработки. Фреймворк предлагает микросервисную архитектуру. Он легкий, простой и с открытым исходным кодом.
  • Он использует TypeScript
  • Простота в использовании, изучении и освоении
  • Мощный интерфейс командной строки (CLI) для повышения производительности и простоты разработки
  • Подробная и хорошо поддерживаемая документация
  • Активная разработка и поддержка кодовой базы
  • Это с открытым исходным кодом
  • Поддержка десятков специализированных модулей, которые помогают легко интегрироваться с распространенными технологиями и концепциями, такими как TypeORM, Mongoose, GraphQL, Logging, Validation, Caching, WebSockets и многими другими.
  • Простое модульное тестирование.
  • Поддержка монолитных и микросервисных приложений.
  • Может использоваться для создания и масштабирования крупных корпоративных приложений.
  • Быстрый и эффективный процесс разработки.
  • Высоко масштабируемые и простые в обслуживании приложения.
  • Самый быстрорастущий фреймворк Node.js за последние 3 года.
  • Большое сообщество и система поддержки.
  • Он использует лучшее из Node.js, TypeScript и пуленепробиваемых архитектурных шаблонов.
  • NestJS заставляет разработчиков использовать определенную архитектуру, вводя модули, сервисы и контроллеры, обеспечивая масштабируемость приложения, высокую степень тестирования и слабую связанность, в отличие от других сред Node.js.

Основные компоненты

  • Контроллеры для обработки запросов и ответов.
  • Модули для структурирования кода и разделения функциональности на логику повторного использования.
  • Поставщики или службы для управления сложной и базовой логикой.

Предпосылки

Убедитесь, что Node.js (версия ›= 12, кроме v13) установлен в вашей операционной системе.

Начиная

Установите CLI глобально с помощью команды npm install -g.

npm install -g @nestjs/cli

Создание первого проекта

Создать новый проект с помощью интерфейса командной строки Nest довольно просто. Вы можете создать новый проект Nest с помощью следующей команды:

nest new project-name

Запуск приложения

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

npm run start

Эта команда запускает приложение с HTTP-сервером, прослушивающим порт, указанный в файле src/main.ts. После запуска приложения откройте браузер и перейдите по адресу http://localhost:3000/. Вы должны увидеть сообщение Hello World!.

Чтобы запустить приложение в режиме разработки, используйте следующую команду:

npm run start:dev

Создание первого контроллера

Цель контроллера — получать конкретные запросы для приложения.

Механизм маршрутизации контролирует, какой контроллер получает какие запросы.

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

Чтобы создать контроллер с помощью CLI, просто выполните следующую команду.

nest g controller name

Вот примерный пример контроллера.

Создание первой службы

Провайдеры — это фундаментальная концепция NestJS.

Многие из базовых классов NestJS могут рассматриваться как поставщики, такие как службы, репозитории, фабрики, помощники и т. д. Основная идея заключается в возможности внедрить их как зависимость.

Чтобы создать службу с помощью CLI, просто выполните следующую команду.

nest g service name

Вот примерный пример услуги.

Создание первого модуля

Модуль — это класс, аннотированный декоратором @Module().

Декоратор @Module() предоставляет метаданные, которые NestJS использует для организации структуры приложения.

Каждое приложение имеет по крайней мере один модуль, корневой модуль.

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

Чтобы создать модуль с помощью CLI, просто выполните следующую команду.

nest g module name

Вот примерный пример модуля.

Заключение

В этом блоге мы узнали, как создавать модули, службы и контроллеры, как запускать сервер и создавать проект вместе с некоторыми его основными концепциями.

Оставайтесь с нами для другой части этого блога.

Автор:- Лавеш Катария

Следите за нами на https://www.linkedin.com/company/brilworks

Свяжитесь с нами https://www.brilworks.com/contact-us/

Наймите разработчика node js от Brilworks уже сегодня!