当前位置: 首页 > 后端技术 > Node.js

Nest.js5正式版,一个基于TypeScript的面向切面编程的node.js微服务框架

时间:2023-04-03 16:46:26 Node.js

Nest.js5正式版发布,主要改进包括:特性核心:支持异步生命周期钩子(OnModuleInit和OnModuleDestroy)#569核心:HTTP服务器独立性,fastify集成(FastifyAdapter)核心:允许从任何模块绑定全局拦截器、过滤器、管道和观察器。示例:{Provides:APP_INTERCEPTOR,useClass:LoggerInterceptor,}core:@UseGuards(),@UsePipes(),@UseFilters(),and@UseInterceptors()扩展而不是重写现有的元数据核心:无处不在的注入(管道,过滤器,拦截器)和守卫)核心:将ArgumentsHost传递给异常过滤器(访问每个参数的能力)核心:增强ExecutionContext到拦截器和守卫(访问每个参数和执行上下文的能力)微服务:重写现有传输(TCP,Redis),提供新策略:Nats,MQTT,gRPC全部:提高执行上下文性能(http、ws、微服务)错误修复常见:删除多个依赖项#532核心:悬空的NestApplicationContext进程#503微服务:并发问题(包括TCP和Redis传输)#505全部改进:删除reflect-metadatadependency#563all:upgradeRxJSto6.0.0all:upgradeNode.js>=8.9.0(TypeScripttargetses2017)core:moredescriptiveexceptions(cyclicdependencies)#493core:与useContainer()兼容的嵌套容器(class-validatorandtypeormwrapper)#528core:removestaticdependencies(webpackcompatibility)websockets:@WebSocketGateway()接受传递给socket.io实例的选项参数#508DeprecationGeneric:Deprecate@Component(),@Middleware(),@Interceptor()、@Pipe()和@Guard()装饰器(改用@Injectable())常见:删除ExpressMiddleware(使用MiddlewareFunction)核心:弃用模块:[](使用imports:[])core:deprecatedcomponents:[](useproviders:[])core:removeMiddlewaresConsumer(useMiddlewareConsumer)注释从传统的express中间件模式移动,其中每个中间件都被限制在一个特定的路由无论请求方法如何,它值得一提的是,该版本支持将底层express替换为fastify(最快的node.js框架)5.0中文文档:https://docs.nestjs.cn/5.0/fi..。