NestJS 基于 Node.js 的强大的 Web 应用框架
Nestjs 是我见过的,将 Typescript 与 Nodejs Framework 结合的最好的例子,Nestjs 不是一个新轮子,它是基于 Express、http://socket.io 封装的 nodejs 后端开发框架,对 Typescript 开发者提供类型支持,也能优雅降级供 Js 使用,拥有诸多特性,像中间件等就不展开了,本文重点列举其亮点特性。
Nestjs 开发围绕着这三个单词,Modules 是最大粒度的拆分,表示应用或者模块。Controllers 是传统意义的控制器,一个 Module 拥有多个 Controller。Components 一般用于做 Services,比如将数据库 CRUD 封装在 Services 中,每个 Service 就是一个 Component。
NestJS 到底是什么?
根据该项目的网站:
NEST 是构建高效,可扩展的 NodeJS 服务器端应用程序的框架。
这与 Node.js 语言相同,所以区别在哪里? 那么,重点是在细节:
它使用现代 JavaScript,使用 Typescript (保留与纯 JavaScript 的兼容性)构建,并结合了 OOP,FP 和 FRP 的元素。
就是这样。Nest 框架以一种非常活跃的方式鼓励开发人员尝试,学习和使用一些著名的软件工程范例。这不仅是介绍性的口号 - 在项目文档中我们找到了很多示例,指导和代码源,以便我们可以在几分钟内在项目中使用它们。 此外,所有这些新词汇的 NestJS 给我们参考它背后的知识。 所以如果你不知道一些模式 - 不用担心,你将会顺利地完成整个过程。
一些特性
NestJS 是一个完全用 TypeScript 编写的框架(它也支持 JS ),它很容易测试,并且带来了所有必要的东西,你总是但您不知道该选什么。
- 依赖注入容器 - NestJS 带有自己的 DiC,这是一个在 JavaScript 世界中似乎被遗忘的实用工具,但我真的不能没有它。 有一些解决方案像 Inversify 或 Bottle,但 NestJS 有自己的解决方案。 它也支持工厂注入。
- 模块化 - 在 NestJS 中,处于相同域边界内的应用程序的每个逻辑部分都是一个模块,它鼓励封装。
- 可测试性 - 由于引入了 DiC 和 Modularisation,您可以根据服务构建应用程序, 使控制器的工作更容易进行测试。
- 使用 TypeScript 中 - 类型很好。 你可以给一个变量分配类型,减少可能出现的错误。
资源
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论