Nest.js 5.0.0-Beta.0 发布了,改进内容包括:
特征
- core:支持异步生命周期钩子(OnModuleInit和OnModuleDestroy)#569
- 核心:HTTP服务器独立性,融合整合(FastifyAdapter)
- 核心:允许绑定来自任何模块的全局拦截器,过滤器,管道和看守器。
- 芯:@UseGuards(),@UsePipes(),@UseFilters(),和@UseInterceptors()延伸,而不是重写现有的元数据,
- 核心:无处不在的注入(管道,过滤器,拦截器和看守器)
- 核心:传递ArgumentsHost给异常过滤器(访问每个参数的能力)
- 核心:通过增强 ExecutionContext 到拦截器和看守器(访问每个参数和执行上下文的能力)
- 微服务:改进现有的工具(TCP,Redis),提供新的策略:Nats,MQTT,gRPC
Bug修复
改进
- 全部:删除reflect-metadata同位体依赖关系#563
- 全部:升级 RxJS(使用管道操作)
- 核心:更多描述性例外(循环依赖)#493
- 核心:与useContainer()(class-validator和typeorm封装)#528兼容的嵌套容器
- 核心:移除静态依赖(webpack兼容性)
- websockets:@WebSocketGateway()接受传递给socket.io实例#508的选项参数
弃用
- 通用:弃用@Component(),@Middleware(),@Interceptor(),@Pipe(),和@Guard()装饰(使用@Injectable()替代)
- 核心:弃用modules: []财产(imports: []改为使用)
- 核心:弃用components: []财产(providers: []改为使用)
笔记
- 从传统的 express 中间件模式转向:每个中间件都被限制在一个特定的路径上,而不管请求方式如何
转自 https://www.oschina.net/news/95444/nest-js-5-0-beta0-released