Skip to content

nestjs 基础

概述

nestjs是nodejs服务端渐进式框架, 官网传送门

  • 完美支持TypeScript
  • OOP(面向对象编程)
  • FP(函数式编程)
  • FRP(函数式反应式编程)
  • AOP (面向切面编程),大量运用装饰器模式
  • DI(依赖注入)
  • IoC(控制反转)
  • 底层支持ExpressFastify,默认Express, 且可以拓展切换其他底层框架

nest中请求流程

nest中大量应用了AOP(面相切面编程), AOP 的好处是可以把一些通用逻辑分离到切面中,保持业务逻辑的纯粹性,这样切面逻辑可以复用,还可以动态的增删。

Nest 实现 AOP 的方式综合起来一共有五种,包括 MiddlewareGuardPipeInterceptorExceptionFilter

一个请求过来, 会依次经过 中间件、守卫、前置拦截器、管道、控制器、提供者(service)、后置拦截器、过滤器 最终响应回去, 下面是一个流程图

nest请求流程

nest基础思维导图