Nest是构建高效,可扩展的 Node.js Web 应用程序的框架。 它使用现代的 JavaScript 或 TypeScript(保留与纯 JavaScript 的兼容性),并结合 OOP(面向对象编程),FP(函数式编程)和FRP(函数响应式编程)的元素。在底层,Nest 使用了 Express,可以方便地使用各种可用的第三方插件。
Nest是构建高效,可扩展的 Node.js Web 应用程序的框架。 它使用现代的 JavaScript 或 TypeScript(保留与纯 JavaScript 的兼容性),并结合 OOP(面向对象编程),FP(函数式编程)和FRP(函数响应式编程)的元素。在底层,Nest 使用了 Express,可以方便地使用各种可用的第三方插件。
原理
近几年,由于 Node.js,JavaScript 已经成为 Web 前端和后端应用程序的「通用语言」,并且有了 Angular,React 和 Vue 等令人耳目一新的项目,提高了开发人员的生产力,使得可以快速构建可测试的且可扩展的前端应用程序。 然而,在服务器端,虽然有很多优秀的库、helper 和 Node 工具,但是它们都没有有效地解决主要问题 - 架构。
Nest 旨在提供一个开箱即用的应用程序体系结构,允许轻松创建高度可测试,可扩展,松散耦合且易于维护的应用程序。
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修复
普通:multer依赖#532
核心:悬挂NestApplicationContext过程#503
微服务:并发问题(包括TCP和Redis传输器)#505
改进
全部:删除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 中间件模式转向:每个中间件都被限制在一个特定的路径上,而不管请求方式如何
开发环境 / 55.08 MB
开发环境 / 1.62 GB
开发环境 / 389.02 MB
开发环境 / 388.92 MB
开发环境 / 18.28 MB
软件评论
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,与本站立场无关!
2018-04-23 14:23 支持(5) 回复