NestJS Logo

Введение

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 с нуля!.

Support us

Nest is an MIT-licensed open source project. It can grow thanks to the support by these awesome people. If you'd like to join them, please read more here.

Principal Sponsors

Trilon LogoMarblism LogoMojam LogoAmplication Logo

Sponsors / Partners

Become a sponsor