说到后端开发,我们都见过OG——Node.js。
它速度快、重量轻,并且具有事件驱动的魅力。然后,进入房间——Nest.js。
它是 Node.js,但是带有发光效果。如果您想知道 Nest.js 是否只是披着华丽外衣的 Node.js,还是真正具有革命性的东西,请系好安全带,因为我们即将泄露秘密。
Node.js 就像永远在你身边的可靠朋友。想要启动快速服务器吗? Node.js。
需要一些轻量级的、到处运行的东西吗? Node.js。
但是让我们面对现实吧,这个朋友有一个问题——他们不会在聚会结束后帮你清理。
原生 Node.js 中的代码很快就会变成意大利面条式的情况,虽然 fs 和 http 模块很棒,但您会发现自己获取第三方包的速度比 npm install 更快。
我们不要忘记令人愉快的回调混乱,它把我们引入了“回调地狱”。
Promise 和 async/await 就像 Node.js 终于长大了,但有些伤疤永远不会消失。
Nest.js 进入聊天就像热爱 TypeScript、使用装饰器的天才一样。
它构建在 Node.js 和 Express 之上,提供了近藤麻理惠 (Marie Kondo) 会认可的组织结构。
使用 Nest.js,您可以获得完整的生态系统、内置的依赖注入(是的,不再需要手动滚动 DI 容器)以及像 @ApiBearerAuth() 这样的装饰器,让您的 API 文档闪闪发光。
哦,我有提到吗?这是固执己见的——但以一种好的方式。一开始你可能会感到被困住了,但很快你就会意识到这些墙壁实际上是脚手架,而你正在建造一座摩天大楼。
Node.js 允许您在 JavaScript 和 TypeScript 之间进行选择,这很可爱,直到您遇到运行时错误并尖叫到虚空为止。
另一方面,Nest.js 像失散已久的兄弟姐妹一样拥抱 TypeScript。有了接口、泛型和类型安全的一切,你会想知道为什么你在没有它们的情况下编码。
当然,输入所有内容感觉就像在报税,但是一旦掌握了它,您就会很平静地知道您的 API 不会崩溃,因为您在需要对象的地方传递了一个字符串。
Nest.js 中的装饰器就像文本中的表情符号 - 起初,它们看起来很多余,但很快您就会意识到它们添加了您不知道需要的所有上下文。
以@ApiBearerAuth()为例。该装饰器与 Swagger 完美集成,无需手动解释 API 的期望,使您的文档几乎可以自行编写。
然后是@Controller()、@Injectable() 和@Module()。这就像玩乐高积木,每个部件都卡入到位。
你不只是在写代码;你还在写代码。你正在组建一个管弦乐队。
如果 Node.js 是一把多用途瑞士军刀,那么 Nest.js 就是整个工具箱,并附有用户手册。
当你想要灵活性并且不介意一点混乱时,Node.js 是完美的。但如果你正在构建一些严肃的东西,Nest.js 是让你脚踏实地、结构化并且有点痴迷于 TypeScript 的合作伙伴。
那么,你的选择是什么?经典的 Node.js 还是它的堂兄 Nest.js?不管怎样,你都在兜风。
请记住:无论您选择什么,都不要忘记一路 npm install sanity。
开发人员喜欢 Nest.js 的原因之一是它很容易集成 Swagger。
通过一些装饰器和一些配置,您的 API 文档就已上线并且可以给人留下深刻的印象。
Nest.js 使其变得简单,因为它能够理解您的代码——这要归功于那些 TypeScript 接口和 DTO(数据传输对象)。
一切都是结构化的,因此 Swagger 确切地知道 API 中的进出内容。
但是我们先来谈谈 Node.js。当然,您可以集成 Swagger,但这并不是在公园散步。
如果没有附加到请求或响应主体的接口或 DTO,Swagger 可能会达不到目标,或者更糟糕的是,让您手动编写路由架构。
那么,当您深入了解 Node.js 并需要毫不费力地获得 Swagger 级别的 API 文档时,您会怎么做?
这就是 LiveAPI 的用武之地。我正在开发这个工具,以使 API 文档超级方便。无论您使用的是普通 Node.js、Express 还是介于两者之间的任何内容,LiveAPI 都会介入并完成繁重的工作。
工作原理:
使用 LiveAPI,您无需处理从头开始设置 Swagger 的痛苦。它快速、高效,并且旨在节省您的时间(和理智)。
那么,为什么不尝试一下呢?现在就来看看:LiveAPI。
以上是Node.js 与 Nest.js:两个框架的故事的详细内容。更多信息请关注PHP中文网其他相关文章!