# zf-nestjs **Repository Path**: sunmeng123/zf-koa ## Basic Information - **Project Name**: zf-nestjs - **Description**: nestjsnestjsnestjsnestjsnestjs - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-27 - **Last Updated**: 2026-02-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # zf-koa #### 介绍 **express-generator** ‌express-generator‌是一个用于快速生成Express.js应用程序的命令行工具。通过使用express-generator,开发者可以轻松地创建一个包含基本项目结构的Express应用 npm install -g express-generator #### Nest.js 概念 Controller 控制器 :控制器负责处理传入的请求,并返回响应。它们通常包含路由处理程序,用于将请求映射到相应的业务逻辑。 Service 服务:服务是应用程序的业务逻辑层。它们负责处理复杂的业务逻辑,并可以调用多个数据源。服务通常与控制器紧密相关,但它们可以独立于控制器存在。 Data Access Object (DAO) 数据访问对象:DAO是用于与数据库或其他数据源进行交互的类或接口。它们封装了与数据库的连接和查询操作,使得控制器和服务可以轻松地访问数据。 @nestjs/core : NestJS的核心模块,提供了应用程序的入口点,并负责启动和关闭应用程序。 @nestjs/common : NestJS的通用模块,提供了许多常用的装饰器和实用程序,如控制器、服务和中间件 守卫 拦截器 管道。 rxjs : RxJS是一个用于处理异步数据流的库,它提供了许多操作符,用于处理复杂的异步操作。RxJS与NestJS集成,使得开发者可以轻松地处理异步数据流。 refector-metadata : reflect-metadata是一个用于在JavaScript中添加元数据的库。它提供了许多装饰器和实用程序,用于在类和属性上添加元数据。reflect-metadata与NestJS集成,使得开发者可以轻松地使用装饰器和元数据。 @nestjs/platform-express : NestJS的Express平台模块,提供了与Express框架的集成。它允许开发者使用Express框架来构建NestJS应用程序。 #### tsconfig.json { "compilerOptions": { "experimentalDecorators": true, // 启用装饰器 "target": "ESNext", // 编译目标 指定 ECMAScript 版本 "moduleResolution": "NodeNext", // 模块解析策略 如何查找第三放模块 "module": "NodeNext", // 指定模块系统 指定生成的模块 } } #### Nest.js 生命周期 客户端 => 中间件 => 守卫 => 拦截器 => 管道 =>控制器=> 服务 => 拦截器 => 过滤器 => 响应 =>客户端 中间件: 全局中间件,模块中间件,路由中间件 守卫:全局守卫,控制器守卫,路由守卫 拦截器:全局拦截器,控制器拦截器,路由拦截器 管道:全局管道,控制器管道,路由管道, 路由管道参数 过滤器:全局过滤器,模块过滤器,路由过滤器 #### Nest.js 装饰器 DTO: Data Transfer Object 数据传输对象,用于在控制器和服务之间传输数据。 DAO: Data Access Object 数据访问对象,用于与数据库或其他数据源进行交互。