Что такое NestJS?
NestJS — это прогрессивный фреймворк для создания серверных приложений на Node.js. Он основан на TypeScript и поддерживает современные принципы разработки, такие как модульность, инъекция зависимостей и использование паттернов проектирования, таких как MVC (Model-View-Controller).
Основные особенности NestJS:
Пример приложения на NestJS
Вот простой пример приложения на NestJS, которое создает REST API для управления задачами.
npm i -g @nestjs/cli
nestjs new project-name
Для начала создадим контроллер для управления задачами. Выполните команду:
nest generate controller tasks
Это создаст файл tasks.controller.ts
с базовой структурой.
import { Controller, Get, Post, Body } from '@nestjs/common';
@Controller('tasks')
export class TasksController {
private tasks = [];
@Get()
getAllTasks() {
return this.tasks;
}
@Post()
createTask(@Body() task) {
this.tasks.push(task);
return task;
}
}
Теперь нужно создать модуль:
nest generate module tasks
В результате будет создан файл tasks.module.ts
. Импортируйте контроллер в модуль:
import { Module } from '@nestjs/common';
import { TasksController } from './tasks.controller';
@Module({
controllers: [TasksController],
})
export class TasksModule {}
Теперь необходимо импортировать созданный модуль в основном модуле приложения (обычно это app.module.ts
).
import { Module } from '@nestjs/common';
import { TasksModule } from './tasks/tasks.module';
@Module({
imports: [TasksModule],
})
export class AppModule {}
Теперь можно запустить сервер с помощью команды:
npm run start
Ваше приложение теперь готово к работе, и вы сможете получать все задачи по адресу http://localhost:3000/tasks
и добавлять задачи с помощью POST-запроса на тот же адрес.
Заключение
NestJS — это мощный инструмент для разработки серверных приложений. Его структура и возможности делают его идеальным выбором для создания больших и сложных приложений. С практикой вы сможете использовать его преимущества в своих проектах, увеличивая продуктивность и качество кода.