主题
nestjs 基础
概述
nestjs是nodejs服务端渐进式框架, 官网传送门
- 完美支持TypeScript
- OOP(面向对象编程)
- FP(函数式编程)
- FRP(函数式反应式编程)
- AOP (面向切面编程),大量运用装饰器模式
- DI(依赖注入)
- IoC(控制反转)
- 底层支持Express 和 Fastify,默认Express, 且可以拓展切换其他底层框架
nest中请求流程
nest中大量应用了AO
P(面相切面编程), AOP
的好处是可以把一些通用逻辑分离到切面中,保持业务逻辑的纯粹性,这样切面逻辑可以复用,还可以动态的增删。
Nest
实现 AOP
的方式综合起来一共有五种,包括 Middleware
、Guard
、Pipe
、Interceptor
、ExceptionFilter
。
一个请求过来, 会依次经过 中间件、守卫、前置拦截器、管道、控制器、提供者(service)、后置拦截器、过滤器 最终响应回去, 下面是一个流程图