Первые шаги
First steps
В этом наборе статей вы узнаете основные принципы Nest. Чтобы ознакомиться с основными строительными блоками приложений Nest, мы создадим базовое приложение CRUD с функциями, которые охватывают множество вопросов на начальном уровне.
Выбор языка программирования
Мы влюблены в TypeScript, но прежде всего - мы любим Node.js. Вот почему Nest совместим как с TypeScript, так и с чистым JavaScript. Nest использует преимущества новейших языковых функций, поэтому для использования его с ванильным JavaScript нам нужен компилятор Babel.
В большинстве примеров мы будем использовать TypeScript.
Прежде чем начать
Пожалуйста, убедитесь, что Node.js (>= 10.13.0) установлен в вашей операционной системе.
Настройка
Создать новый проект довольно просто с помощью Nest CLI. С установленным npm вы можете создать новый проект Nest с помощью следующих команд в вашем терминале ОС:
$ npm i -g @nestjs/cli
$ nest new project-nameБудет создан каталог проекта, установлены node модули и несколько других шаблонных файлов, а каталог src/ будет создан и заполнен несколькими основными файлами.
Вот краткий обзор этих основных файлов:
Файл
Описание
app.controller.ts
Базовый образец контроллера с одним маршрутом.
app.module.ts
Корневой модуль приложения.
main.ts
Входной файл приложения, использующий основную функцию NestFactory.create() для создания экземпляра приложения Nest на основе корневого модуля.
Файл main.ts включает в себя асинхронную функцию, которая запускает наше приложение:
Чтобы создать экземпляр приложения Nest, мы используем базовый класс NestFactory. NestFactory предоставляет несколько статических методов, которые позволяют создавать экземпляр приложения. Метод create() возвращает объект приложения, который выполняет интерфейс INestApplication. Этот объект предоставляет набор методов, которые описаны в следующих главах. В приведенном выше примере main.ts мы просто запускаем наш прослушиватель HTTP, который позволяет приложению ожидать входящие HTTP-запросы.
Обратите внимание, что проект, созданный с помощью Nest CLI, создает начальную структуру проекта, которая подталкивает разработчиков придерживаться соглашения о сохранении каждого модуля в отдельном каталоге.
Платформа
Nest стремится быть независимым от платформы. Независимость от платформы позволяет создавать многократно используемые логические части, которыми разработчики могут воспользоваться в нескольких различных типах приложений. Технически Nest может работать с любой HTTP-инфраструктурой Node после создания адаптера. Из коробки поддерживаются две платформы HTTP: express и fastify. Вы можете выбрать ту, который лучше всего соответствует вашим потребностям.
Платформа
Описание
platform-express
Express - это хорошо известный минималистский веб-фреймворк для node.
Это проверенная в бою, готовая к работе библиотека с большим количеством ресурсов, реализованных сообществом. Пакет@nestjs/platform-express используется по-умолчанию.
platform-fastify
Fastify - это высокопроизводительный фреймворк, ориентированный на обеспечение максимальной эффективности и скорости. Его использование рассмотрено в разделе "Производительность" главы "ТЕХНИКИ".
Какая бы платформа ни использовалась, она предоставляет собственный интерфейс приложения. Они рассматриваются соответственно как NestExpressApplication и NestFastifyApplication.
Когда вы передаете тип методу NestFactory.create(), как в примере ниже, у объекта приложения будут методы, доступные исключительно для этой конкретной платформы. Обратите внимание, однако, что вам не нужно указывать тип, если вы на самом деле не хотите получить доступ к API базовой платформы.
Запуск приложения
После завершения процесса установки вы можете запустить следующую команду в командной строке ОС, чтобы запустить приложение, прослушивающее входящие HTTP-запросы:
Эта команда запускает приложение с HTTP-сервером, прослушивающим порт, определенный в файле src/main.ts. После запуска приложения откройте браузер и перейдите по адресу http://localhost:3000/. Поздравляю с первым HelloWorld на NestJS!
Last updated