Введение
Nest (NestJS) — это фреймворк для создания эффективных, масштабируемых серверных приложений на Node.js. Он использует прогрессивный JavaScript, построен на TypeScript (при этом позволяет разработчикам писать на чистом JavaScript) и сочетает элементы ООП (Объектно-Ориентированное Программирование), ФП (Функциональное Программирование) и ФРП (Функциональное Реактивное Программирование).
Под капотом Nest использует надежные фреймворки HTTP-серверов, такие как Express (по умолчанию) и при необходимости может быть настроен для использования Fastify!
Nest предоставляет уровень абстракции над этими распространенными фреймворками Node.js (Express/Fastify), но также открывает их API напрямую для разработчика. Это дает разработчикам свободу использовать множество сторонних модулей, доступных для базовой платформы.
Философия#
В последние годы благодаря Node.js JavaScript стал "лингва франка" для веба как для фронтенда, так и для бэкенда. Это породило потрясающие проекты, такие как Angular, React и Vue, которые улучшили продуктивность разработчиков и позволяют создавать быстрые, тестируемые и расширяемые фронтенд-приложения. Однако, несмотря на наличие множества отличных библиотек, помощников и инструментов для Node (и серверного JavaScript), ни один из них не решает основную проблему — архитектуру.
Nest предоставляет готовую архитектуру приложения, которая позволяет разработчикам и командам создавать легко тестируемые, масштабируемые, слабо связанные и легко поддерживаемые приложения. Архитектура сильно вдохновлена Angular.
Установка#
Для начала вы можете либо создать проект с помощью Nest CLI, либо клонировать стартовый проект (оба варианта дадут тот же результат).
Для создания проекта с помощью Nest CLI выполните следующие команды. Это создаст новый каталог проекта и заполнит его начальными файлами ядра Nest и вспомогательными модулями, создавая стандартную структуру для вашего проекта. Создание нового проекта с помощью Nest CLI рекомендуется для новичков. Мы продолжим с этим подходом в Первоначальных шагах.
$ npm i -g @nestjs/cli
$ nest new project-name
Подсказка Для создания нового проекта на TypeScript с более строгими настройками, передайте флаг--strict
в командуnest new
.
Альтернативы#
Кроме того, для установки стартового проекта на TypeScript с помощью Git:
$ git clone https://github.com/nestjs/typescript-starter.git project
$ cd project
$ npm install
$ npm run start
Подсказка Если вы хотите клонировать репозиторий без истории git, вы можете использовать degit.
Откройте браузер и перейдите по адресу http://localhost:3000/
.
Для установки JavaScript-версии стартового проекта используйте
javascript-starter.git
в команде выше.
Вы также можете начать новый проект с нуля, установив основные и вспомогательные
пакеты. Имейте в виду, что вам придется самостоятельно настроить шаблоны файлов проекта. Минимально вам потребуются
следующие зависимости: @nestjs/core
,
@nestjs/common
, rxjs
и reflect-metadata
.
Ознакомьтесь с этой краткой статьей о том, как создать полный проект: 5
шагов для создания минимального приложения NestJS с нуля!.