nest README

The project's README from github.com/nestjs/nest. As one markdown file: README.md.

Nest Logo

A progressive Node.js framework for building efficient and scalable server-side applications.

NPM Version Package License NPM Downloads CircleCI Discord Backers on Open Collective Sponsors on Open Collective Support us

Description

Nest is a framework for building efficient, scalable Node.js server-side applications. It uses modern JavaScript, is built with TypeScript (preserves compatibility with pure JavaScript) and combines elements of OOP (Object Oriented Programming), FP (Functional Programming), and FRP (Functional Reactive Programming).

Under the hood, Nest makes use of Express, but also provides compatibility with a wide range of other libraries, like Fastify, allowing for easy use of the myriad of third-party plugins which are available.

Philosophy

In recent years, thanks to Node.js, JavaScript has become the “lingua franca” of the web for both front-end and back-end applications, giving rise to awesome projects like Angular, React, and Vue, which improve developer productivity and enable the construction of fast, testable, and extensible frontend applications. However, on the server-side, while there are a lot of superb libraries, helpers, and tools for Node, none of them effectively solve the main problem - the architecture.

Nest aims to provide an application architecture out of the box which allows for effortless creation of highly testable, scalable, and loosely coupled and easily maintainable applications. The architecture is heavily inspired by Angular.

Getting started

Questions

For questions and support please use the official Discord channel. The issue list of this repo is exclusively for bug reports and feature requests.

Issues

Please make sure to read the Issue Reporting Checklist before opening an issue. Issues not conforming to the guidelines may be closed immediately.

Consulting

With official support, you can get expert help straight from the Nest core team. We provide dedicated technical support, migration strategies, advice on best practices (and design decisions), PR reviews, and team augmentation. Read more about support here.

Support

Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support from the amazing backers. If you'd like to join them, please read more here.

Principal Sponsors

Gold Sponsors

Silver Sponsors

Sponsors

Backers

Stay in touch

License

Nest is MIT licensed.

nest (nestjs/nest)

Searching Database…

76.9K ·GitHub
Что это такое?Nest — это прогрессивный фреймворк на Node.js для создания эффективных, масштабируемых серверных приложений корпоративного уровня с использованием TypeScript (при этом сохраняется совместимость с обычным JavaScript).
Это фреймворк или просто набор вспомогательных библиотек?Это полноценный фреймворк для приложений, а не набор разрозненных утилит: он задаёт определённую архитектуру (модули, контроллеры, провайдеры), вдохновлённую Angular, и по умолчанию работает поверх Express, а также поддерживает Fastify как готовый HTTP-адаптер для замены.
Как запустить проект на Nest?Официальное руководство на docs.nestjs.com описывает создание и запуск проекта, обычно через Nest CLI; сам репозиторий собирается стандартными командами проектных ссылок TypeScript, такими как 'build' и 'build:dev'.
Нужен ли мне TypeScript или можно обойтись обычным JavaScript?Требуется Node.js 20 или новее; TypeScript — основной язык, на котором написан Nest, но фреймворк явно сохраняет совместимость с чистым JavaScript.
В чём подвох по сравнению с прямым использованием Express?Nest добавляет поверх Express/Fastify слой модулей, декораторов и внедрения зависимостей в стиле Angular. Это означает, что перед началом работы нужно изучить больше структуры, чем при написании обычных маршрутов Express.
Для кого создан Nest?Он рассчитан на бэкенд-разработчиков на Node.js, которым нужна поддерживаемая серверная архитектура корпоративного уровня, а не минималистичная библиотека маршрутизации.
Почему архитектура Nest смоделирована по образцу Angular?Автор Камил Мысливец создал Nest, чтобы перенести в бэкенд на Node.js модульную структуру Angular с внедрением зависимостей, поскольку существующие библиотеки для Node решали отдельные задачи, но не архитектуру приложения в целом.
Поддерживает ли Nest создание микросервисов?Да, микросервисы — один из его основных поддерживаемых подходов: вы можете использовать ту же модель модулей и провайдеров для распределённых сервисов, а не только для HTTP API.
Можно ли получить платную поддержку по Nest?Да, основная команда Nest предлагает официальные консультации с выделенной технической поддержкой, стратегиями миграции, советами по архитектуре и ревью pull request'ов.
Привязывает ли меня Nest к Express?Нет, Nest абстрагирует HTTP-слой, поэтому вы можете заменить Express на Fastify в качестве базового сервера, сохранив тот же код приложения.
Creator
nestjs
Size
480 MB
Stars
76.9K
Age
9y
Commits · 90 Days