Обзор приложения, установка и настройка
Обзор
NestJS - это бэкэнд-фреймворк, построенный на основе NodeJS и ExpressJS для создания серверных приложений, он лучше всего подходит для REST API, так как REST API работает с NestJS очень быстро. Он использует современный JavaScript, построен на TypeScript (сохраняет совместимость с чистым JavaScript) и сочетает в себе элементы ООП (объектно-ориентированное программирование), FP (функциональное программирование) и FRP (функциональное реактивное программирование). Архитектура NestJS в основном вдохновлена AngularJS.
Предварительные требования с точки зрения технических знаний:
- Знание современных подходов к JS-программированию.
- Опыт работы с NodeJS, ExpressJS, Typescript (не обязательно, но это поможет вам разобраться и быстро наладить работу)
- Опыт работы с MongoDB, мангуст.
- Базовые знания Декораторов
Требования к вашей системе:
- Вам потребуется установить NodeJS и NPM (менеджер пакетов Node). Последнюю версию можно скачать здесь.
Начало работы
Чтобы начать работу с NestJS, вам необходимо установить его интерфейс командной строки (CLI), который позволяет вам создавать скелетный проект для NestJS всякий раз, когда вы хотите создать новый проект, поэтому давайте сначала установим его, выполнив следующую команду:
(Если вы используете NPM в качестве диспетчера пакетов):
npm i -g @nestjs/cli
(Если вы используете Yarn в качестве диспетчера пакетов):
yarn global add @nestjs/cli
(ПРИМЕЧАНИЕ. Если вы используете Windows, вам может потребоваться запустить cmd / bash от имени администратора, поскольку мы устанавливаем пакеты глобально. Для Mac / Linux просто добавьте «sudo» перед командами, а затем он попросит вас ввести пароль, введите он установит пакеты.)
Теперь, чтобы создать новый проект с помощью Nest-CLI, выполните в консоли следующую команду:
nest new products-api
После того, как вы запустите эту команду, она начнет создание скелетного проекта, который содержит базовые файлы конфигурации, пример запроса GET и тестовые примеры для этого.
После того, как команда завершит создание всех файлов, давайте перейдем в эту папку:
cd projects-api
Вот как это будет выглядеть:
Давайте разберемся, что содержит каждый файл и что это означает:
package.json - то же, что и проекты NodeJS, это сердце проекта, содержащее все основные скрипты, зависимости, dev-зависимости и другие конфигурации тестовых случаев. (Я предлагаю ничего здесь не изменять, не зная, что вы делаете)
tsconfig.json - он содержит все конфигурации машинописного текста, вы можете узнать об этом подробнее здесь.
nest-cli.json - он содержит конфигурацию интерфейса командной строки NestJS. Если вы хотите изменить исходный каталог на любой другой каталог, вы можете сделать это отсюда, изменив «sourceRoot».
main.ts - этот файл будет точкой входа для нашего приложения NestJS, и он будет обслуживать все, что определено здесь и далее.
app.module.ts - здесь проявляется модульность, все, что вы добавляете сюда, будет служить модулем. Вы заметите здесь, что мы используем ключевое слово «@Module», которое является декоратором, импортированным из NestJS.
Module({ imports: [], controllers: [AppController], providers: [AppService], })
Простыми словами
›Controllers = Все, что вы определяете в контроллерах, будет маршрутами.
›Provider = Все, что вы здесь определите, будет использоваться в качестве служебной функции внутри различных маршрутов.
›Import = Если ваш текущий модуль зависит от любого другого модуля, вы можете сообщить этому модулю, добавив этот модуль здесь, в импорте
app.controller.ts - содержит маршруты, которые можно определить с помощью «@Controller» и других методов REST, например (@Get, @Post, @Put, @Patch, @Delete)
app.service.ts - в нем есть служба, которая будет использоваться в контроллерах, поэтому все, что здесь определено, можно использовать в контроллере, вы также можете определить здесь некоторые частные вспомогательные функции, которые не будут доступны вне класса.
Есть несколько предварительно настроенных базовых команд, которые вы увидите в файле package.json, из них вам в основном понадобятся следующие:
npm run start:dev
= ›Запускает ваше приложение в режиме разработки.npm run build
= ›Создайте производственную сборку приложения.npm run start:prod
= ›Запускает фактическую производственную сборку в вашей локальной среде. Сначала вам нужно создать сборку.npm run format
,npm run lint
= ›Это переформатирует ваш код на основе конфигураций, определенных для prettier и eslint.npm run test
= ›Это выполнит все тестовые примеры для приложения и покажет вам сводку результатов тестирования.
Чтобы подготовиться к разработке вашего реального API и заставить его работать с вашей реальной базой данных, я скоро выпущу руководство, Оставайтесь с нами!
Обновление: Если вы ищете создание REST API с помощью NestJS, ознакомьтесь с моей последней статьей здесь.
Вывод
Спасибо, что прочитали это, если это помогло вам обогатить ваше обучение NestJS, нажмите 👏, и вам понадобится любая другая информация, не стесняйтесь оставлять комментарий ниже!
Большое спасибо Танай Десаи за помощь в создании этой серии. Еще много впереди!
Спасибо и всего хорошего! 😃