Nest.js 8.0 发布,渐进式 Node.js 框架

来源: OSCHINA
编辑: Alias_Travis
2021-07-09

Nest.js 是一个用于构建高效、可扩展的 Node.js 服务器端应用程序的框架。它使用 TypeScript 和 JavaScript 构建,并结合了 OOP、FP 和 FRP 等元素。

Nest.js 8.0 正式发布,该版本更新内容如下:

特性:

  • 重构内置的控制台记录器类,分离出 Logger wrapper 类和 ConsoleLogger 类,添加缓冲日志功能,添加日志级别输出,支持日志级别功能;
  • 添加 StreamableFile 类,用于从控制器路由流式传输文件(跨平台);
  • 增加 ParseFloatPipe和 ParseEnumPipe 类;
  • 添加 lazy 模块加载器类;
  • 添加 RouterModule,用于定义每个模块的控制器前缀;
  • 增加从全局前缀中排除某些路由的能力;
  • API 版本管理功能;
  • 支持多个事件订阅者;
  • 支持向 @Payload() 装饰器传递一个属性键;
  • 支持向 @MessageBody() 装饰器传递一个属性键;
  • WsAdapter 支持在不同路径上注册网关,并让它们共享同一个 HTTP 服务器;

改进

  • 调用生命周期 hooks 时按拓扑结构对模块进行排序;
  • 使用类的引用作为提供者/控制者/注入物的键,而不是它们的名字;
  • BaseExceptionFilter 支持 http-errors(以及任何其他指定了 statusCode 属性的错误对象);
  • 将 Error.name 属性设置为类的名称;

错误修复:

  • 为 mixin() 函数添加一个缺失的类型参数;
  • 对于用 @All() 装饰器注释的路由使用 router.all() 方法,而不是 router.use() ;
  • 在服务器绑定失败时拒绝 listen()
  • 指定 @nestjs/platform-socket.io 作为可选的对等依赖,以支持 PnP 模式;

依赖:

  • 更新以使用 @grpc/grpc-js 包,而不是 grpc
  • 将 NATS 升级到 v2 版;
  • 将 Socket.io 升级到 v4 版;

更多详情可查看:https://github.com/nestjs/nest/releases/tag/v8.0.0

展开阅读全文
4 收藏
分享
加载中
最新评论 (2)
FP(功能编程)------ 是这样翻译的吗?666
2021-07-09 10:17
0
回复
举报
好像“函数式编程”说得更多
2021-07-10 16:22
0
回复
举报
更多评论
2 评论
4 收藏
分享
返回顶部
顶部