Вступление

Nest (NestJS) это фреймворк для построения эффективных, масштабируемых сервер-сайд приложений. В нем используется прогрессивный JavaScript, он разработан на TypeScript и полностью его поддерживает (тем не менее позволяет разработчикам писать код на чистом JavaScript) и комбинирует в себе элементы ООП (Объектно ориентированное программирование), ФП (Функциональное программирование) и ФРП (Функционально-реактивное программирование).

Под капотом использует надежные HTTP фреймворки такие как Express (по умолчанию) и по желанию может быть сконфигурирован на использвание Fastify.

Nest предоставляет уровень абстракции над этими Node.js фреймворками (Express/Fastify), но так же предоставляет их API для разработчика. Это позволяет разработчикам свободно использвать большое множество сторонних модулей которые доступны для базовой платформы.

Философия#

За последние годы, спасибо Node.js, JavaScript стал "лингва франка" от веба для frontend и backend приложений. Это породило такие удивительные проекты как Angular, React and Vue, которые повышают производительность разработчиков и позволяют создавать быстрые, тестируемые, и расширяемые frontend приложения. Однако, в то время как множество превосходных библиотек, хелперов, и инструментов существуют для Node (и сервер-сайд JavaScript), ни один из них не решает эффективно главную проблему - Архитектура.

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

Установка#

Чтобы начать работу, можно воспользоваться Nest CLI либо склонировать стартовый репозиторий (в обоих случаях получишь тот же самый результат).

Чтобы создать проект с помощью Nest CLI нужно выполнить следующие команды. После их выполнения будет создана директория с проектом в которой будут основные файлы Nest и вспомогательные модули для базовой структуры проекта. Создание нового проекта с помощью Nest CLI более предпочтительный способ для новичков. Мы им будем пользоваться в разделе Первые Шаги.


$ npm i -g @nestjs/cli
$ nest new project-name

Альтернативный способ - склонировать бойлерплейт с помощью Git:


$ git clone https://github.com/nestjs/typescript-starter.git project
$ cd project
$ npm install
$ npm run start

Открой браузер и перейди по адресу http://localhost:3000/.

Для установки бойлерплейта с JavaScript нужно заменить typescript-starter.git на javascript-starter.git в первой команде выше.

Также можно вручную, с нуля, создать новый проект, установив основные и вспомогательные пакеты через npm (либо yarn). В таком случае вы сами ответственны за то что вы делаете.


$ npm i --save @nestjs/core @nestjs/common rxjs reflect-metadata

Контакты#

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 Sponsor

Sponsors / Partners

Become a sponsor