Введение в NestJS [+6 учебных ресурсов]

Опубликовано: 2023-01-06

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

NestJS был создан для устранения неорганизованных кодовых баз. Его модульная структура позволяет легко организовать код в различные модули.

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

Почему NestJS?

Почему-NestJS

NestJS удобен для начинающих, поскольку имеет хорошую структуру и простые в использовании инструменты интерфейса командной строки (CLI). Таким образом, разработчики могут создать новую функцию с помощью одной команды, используя эту среду Node.js.

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

Кривая обучения NestJS будет легкой для тех, кто знаком с циклами, синтаксисом и условиями в JavaScript и Angular.

Особенности NestJS

Особенности NestJS

Построен на машинописном языке

NestJS построен на Typescript, верхнем индексе JavaScript. Typescript обеспечивает лучший опыт разработки, поскольку вам не нужно вручную проверять ошибки каждый раз, когда вы что-то меняете в коде. Typescript в основном предлагает все функции JavaScript, но также имеет некоторые дополнительные функции.

Контейнер внедрения зависимостей

Внедрение зависимостей отделяет инициализацию объектов, которые использует класс, от самого класса. В таком случае класс называется «клиент», а зависимости класса называются «сервисами». Этот встроенный DI в NestJS делает приложения более эффективными и модульными.

Мощный интерфейс командной строки (CLI)

Вы можете инициализировать, разрабатывать и поддерживать все свои приложения NestJS с помощью NestCLI. Есть много вещей, которые вы можете сделать с помощью интерфейса командной строки Nest, например;

  • Подмости проекта
  • Обслуживание проекта в режиме разработки
  • Создайте и упакуйте приложение для распространения в рабочей среде

Модульность

Каждое приложение NestJS имеет как минимум один модуль. «Корневой» модуль является самым основным. В типичном приложении NestJS каждая логическая часть приложения будет находиться в одной и той же границе домена (модуле). Такой параметр позволяет легко организовать компоненты, в которых приложение будет иметь несколько модулей с тесно связанным набором возможностей.

Юнит-тестирование

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

Агонизм базы данных

Вы можете легко интегрироваться с любой базой данных SQL или NoSQL в зависимости от ваших потребностей и предпочтений при работе с NestJS. Подключить NestJS к базе данных очень просто, так как вам просто нужно загрузить соответствующий драйвер Node.js.

Поддержка различных библиотек

NestJS совместим с различными инструментами, что ускоряет разработку приложений. Эта структура поддерживает ведение журнала, проверку, кэширование, WebSockets, TypeORM, Mongoose и GraphQL без дополнительной настройки.

Архитектура и рабочий процесс NestJS

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

Архитектура и рабочий процесс NestJS
Источник изображения: лучшее программирование

Контроллеры

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

Провайдеры

Провайдеры можно назвать основой NestJS. Провайдеры внедряются как зависимости и создают отношения между различными объектами. Классы в NestJS, такие как помощники, сервисы или репозитории, можно рассматривать как поставщиков после добавления декоратора `@Injectable()`. Такие провайдеры также могут быть внедрены в класс через конструктор, и NestJS разрешит зависимости.

Модули

Модуль в NestJS объединяет тесно связанный набор возможностей. Каждое приложение NestJS имеет корневой модуль, используемый в качестве точки входа. Использование нескольких модулей настоятельно рекомендуется, если вы хотите иметь организованный и легко читаемый код. Декоратор Nest `@Module()` определяет модуль, а также предоставляет информацию, такую ​​​​как зависимости, контроллеры и поставщики, которые будут работать с этим модулем.

Начало работы с NestJS

Убедитесь, что Node.js и npm установлены. Вам нужна среда выполнения, и Node.js идеально подходит для этой настройки. Вам нужна версия >= 12, кроме v13. Вы можете проверить, установлены ли у вас Node.js и npm с помощью этих команд;

 node -v
 npm -v

Если оба установлены, вы получите вывод, близкий к этому

узел

Если у вас их нет, установите через официальную страницу. К счастью, Node.js и npm установлены вместе.

  • Установите интерфейс командной строки Nest. Используйте следующие команды для установки CLI и проекта;
 npm i -g @nestjs/cli
 nest new project-name

Мы выбрали название проекта mynestapp для демонстрационных целей. NestJS дает вам возможность работать либо с Typescript, либо с ванильным JavaScript. Выберите то, что вам подходит, и нажмите Enter. После того, как приложение будет создано, файловая структура будет настроена, и папка «src» будет содержать несколько основных файлов, как показано на этом снимке экрана.

Файловая структура
  • Запустите приложение / ваш первый привет, мир

После завершения установки запустите эти команды, чтобы запустить сервер разработки.

 cd mynestapp
 npm run start

Введите http://localhost:3000/ в своем браузере, и ваш первый «Hello World» на NestJs должен отображаться.

NestJS: преимущества

  • Легко учиться . Освоить NestJS легко, особенно если вы работаете с Angular или имеете общее представление о JavaScript. Подробная документация также позволяет легко освоить работу с этим мощным фреймворком.
  • Гибкий . С помощью NestJS можно создать множество вещей. Вы можете создавать приложения MVC, приложения GraphQL, RESTful API и веб-сокеты, используя эту платформу Node.js.
  • Поставляется с тысячами модулей . Модули, поддерживаемые сообществом, упрощают разработчикам структурирование различных функций при создании серверных приложений.
  • Быстрая разработка и хорошая архитектура . Вам не нужно создавать все с нуля при работе с NestJS. Однако тот же фреймворк имеет прочную архитектуру, облегчающую понимание кода.

NestJS: недостатки

  • Не подходит для тех, у кого есть опыт работы с TypeScript и Angular . NestJS многое заимствует из архитектуры Angular, и тем, у кого нет таких знаний, может потребоваться время, чтобы понять синтаксис и структуру.
  • Не хватает в некоторых областях . NestJS еще молод и может не конкурировать с некоторыми устоявшимися фреймворками на основе Python и GO.

Компании, использующие NestJS

№1. Адидас

Adidas, производитель обуви и дизайнер, входит в число компаний, использующих NestJS. Удивительные возможности NestJS, должно быть, привлекли этого обувного гиганта, чтобы использовать его на своем бэкэнде.

№ 2. Капджемини

Capgemini — французская многонациональная компания, предлагающая консалтинг, технологии, аутсорсинг и профессиональные услуги. Эта компания использует NestJS в своем стеке технологий.

№3. Роше

«Рош» — многонациональная медицинская компания, состоящая из двух подразделений; фармацевтика и диагностика. Roche использует NestJS в качестве одного из технологических стеков на своем основном веб-сайте.

Учебные ресурсы

№1. NestJS От нуля до героя

нулевой герой

NestJS Zero to Hero учит разработчиков создавать и развертывать серверные корпоративные приложения с помощью Typescript и Node.js. Курс учит, как создавать API, авторизацию и аутентификацию, модульное тестирование приложений Nest и TypeORM для взаимодействия с базой данных, среди прочего.

№ 2. NestJS: полное руководство разработчика

Полное руководство для разработчиков

Этот курс учит разработчиков создавать серверные API с помощью Nest, TypeScript и TypeORM. В этом полном руководстве есть все, что вам нужно, от настройки кода вашего приложения NestJS, тестирования и развертывания. Вы также получите представление о веб-фреймворке NestJS за кулисами.

№3. Мастер NestJS

MasterNestJS

Master NestJS учит, как разрабатывать приложения Node.js корпоративного уровня с использованием TypeScript. Курс учит проверке и сериализации данных, тому, как работают токены JWT, как использовать NestCLI и современной абстракции базы данных, среди многих других вещей.

№ 4. NestJs на практике (с MongoDB)

NestJs на практике

NestJS на практике учит всему, что вам нужно знать о NestJS, от модулей, контроллеров, GuardsServices, каналов и промежуточного программного обеспечения. В курсе используется проектный подход, при котором вы пишете код и размещаете свой код на GitHub с загружаемыми zip-файлами для каждого раздела.

№ 5. Nest.js: прогрессивная платформа Node.js

Эта книга знакомит разработчиков с NestJS и с тем, как использовать JavaScript и TypeScript. Книга была разработана в формате практических рекомендаций, чтобы вы могли настроить и запустить свое приложение NestJS в кратчайшие сроки.

Предварительный просмотр Продукт Рейтинг Цена
Nest.js: прогрессивная платформа Node.js Nest.js: прогрессивная платформа Node.js $24,99

№ 6. Практический Nest.js: разработка чистых веб-приложений MVC

В практической книге Nest.js используется подход, основанный на проектах, для создания приложения интернет-магазина, использующего различные функции NestJS. Книга включает короткие обсуждения, советы и полезные фразы при создании приложения NestJS.

Предварительный просмотр Продукт Рейтинг Цена
Практический Nest.js: разработка чистых веб-приложений MVC Практический Nest.js: разработка чистых веб-приложений MVC $16,99

Заключение

Помимо того, что это мощная среда Node.js, NestJS также является сегодня одной из самых популярных платформ Typescript для серверных приложений. Тот факт, что он предлагает передовые методы кодирования и стандартную архитектуру разработки, привлек к нему множество инженеров, которые хотят сосредоточиться на построении бизнес-логики при создании приложений.