Вступление
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
Контакты#
- Website - https://nestjs.com
- Twitter - @nestframework