NestJS 是一个用于构建高效、可扩展的 Node.js 服务器端应用程序的框架。它完美地结合了 OOP(面向对象编程)、FP(函数式编程)和 FRP(函数响应式编程)的元素。本文将带你从零开始了解 NestJS 的核心概念和基础用法。
环境准备与项目搭建
1. 环境准备
首先确保你的开发环境已经安装了 Node.js(推荐 v16 或更高版本)。然后全局安装 NestJS CLI:
npm i -g @nestjs/cli
2. 创建新项目
使用 CLI 创建新项目:
nest new my-nest-project
cd my-nest-project
选择包管理器(npm/yarn/pnpm)后,CLI 会自动创建项目结构并安装依赖。
3. 项目结构
src/
├── app.controller.spec.ts # 控制器测试文件
├── app.controller.ts # 基础控制器
├── app.module.ts # 根模块
├── app.service.ts # 基础服务
└── main.ts # 应用入口文件
核心概念
1. 控制器(Controllers)
控制器负责处理传来的请求和向客户端返回响应:
// src/app.controller.ts
import { Controller, Get, Post, Body } from '@nestjs/common';
import { AppService } from './app.service';
@Controller('api')
export class AppController {
constructor(private readonly appService: AppService) {}
@Get('hello')
getHello(): string {
return this.appService.getHello();
}
@Post('message')
createMessage(@Body() message: { content: string }) {
return this.appService.createMessage(message);
}
}
2. 提供者(Providers)
提供者是 NestJS 中的基础概念,多数情况下用于封装业务逻辑:
// src/app.service.ts
import { Injectable } from '@nestjs/common';
@Injectable()
export class AppService {
private messages: string[] = [];
getHello(): string {
return 'Hello World!';
}
createMessage(message: { content: string }): string {

最低0.47元/天 解锁文章

1241

被折叠的 条评论
为什么被折叠?



