Первый взгляд на Nest.js

Node.js
Первый взгляд на Nest.js

Что такое Nest.js?

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

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

Какую проблему решает Nest.js?

В последние годы, благодаря Node.js, JavaScript стал в Интернете «языком общения» для интерфейсных и серверных приложений. Это создает потрясающие проекты, такие какAngular, React и Vue, которые повышают продуктивность разработчиков и позволяют создавать быстрые, тестируемые и масштабируемые клиентские приложения. Однако, несмотря на то, что для Node (и серверного JavaScript) существует масса отличных библиотек, помощников и инструментов, ни один из них эффективно не решает главную проблему — архитектуру.

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

тренд

NPM загрузки

звездаТренды

Создать новый проект

$ npm i -g @nestjs/cli
$ nest new MyNest

основной файл

создастprojectкаталог, установите модуль узла и некоторые другие шаблонные файлы, и создастsrcкаталог, который содержит несколько основных файлов.

src
├── app.controller.ts // 带有单个路由的基本控制器示例。
├── app.module.ts // 应用程序的根模块。
└── main.ts // 应用程序入口文件。它使用 NestFactory 用来创建 Nest 应用实例。

main.tsСодержит асинхронную функцию, отвечающую загидНаше приложение:

import { NestFactory } from '@nestjs/core';
import { ApplicationModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(ApplicationModule);
  await app.listen(3000);
}
bootstrap();

Для создания приложения Nest мы использовалиNestFactoryосновной класс.NestFactoryПредоставляет некоторые статические методы для создания экземпляров приложения.create()метод возвращает реализациюINestApplicationОбъект интерфейса и предоставляет набор доступных методов. надmain.tsВ нашем примере мы только что запустили HTTP-сервер, что позволяет приложению ждать входящих HTTP-запросов.

Запустите приложение

После завершения процесса установки вы можете запустить следующую команду в системной командной строке, чтобы запустить приложение, прослушивающее входящие HTTP-запросы:

$ npm run start

Эта команда находится вsrcв каталогеmain.tsЗапустите HTTP-сервер на порту, указанном в файле. Во время работы приложения откройте браузер и посетитеhttp://localhost:3000/. Тебе следует увидетьHello world!Информация.