NestJS 基于 Node.js 的强大的 Web 应用框架

发布于 2019-10-14 19:43:05 字数 1920 浏览 2264 评论 0

Nestjs 是我见过的,将 Typescript 与 Nodejs Framework 结合的最好的例子,Nestjs 不是一个新轮子,它是基于 Express、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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84961 人气
更多

推荐作者

书间行客

文章 0 评论 0

神妖

文章 0 评论 0

undefined

文章 0 评论 0

38169838

文章 0 评论 0

彡翼

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文