NestJs 对于 Node.js 初学者来说是正确的选择吗?还是我应该先使用 Express 做点什么?

w3b*_*ite 10 node.js express typescript sails.js nestjs

我知道Nest.js是在 Express JS 之上并且可以在 fastify 上,我已经在 Mozilla (MDN) 培训网站上完成了 Express JS 库项目,但由于很多原因,例如应用程序的架构以及我在网上看到的有关问题情况的讨论使用快速和现代的 JS,如 async-await 等\xe2\x80\xa6

\n

我寻找了一个更可靠的选择: sails-js、nest 和feather 出现了,feathers 非常棒,但是Nest.js有非常好的文档,我有一段时间避免使用 typescript,但现在它似乎无处不在,我希望通过 Nest 我可以更好地了解它以及它的实际用途,在前端,除了 Angular 2 plus 之外,我真的找不到使用它的好理由,除了它是一种趋势。不要误会我的意思,角度是我希望加入 TS 的原因之一。

\n

简洁版本

\n

这就是我作为前端开发人员(主要是 vue 和 svelte)在 NodeJS 氛围(express 和 hapi)中几个月的现状,我的问题是:我应该坚持 hapi 和express 还是使用 NestJs 和替代品(如 Feathers 和 sails)?

\n

请原谅我缺乏英语写作经验。

\n

Ale*_*Dim 9

Nest.js 和 Typescript 是一个企业级应用程序框架,它提供了清晰的结构和指导方针。

所以对于初学者来说,优点是:

  • TS/JS 中的 OOP(实体)
  • 介绍 TS 最新的 LTS 特性,如装饰器、依赖注入等。
  • 在构建 ESLint、prettier 和 monorepo mod 中,可以通过 Nest CLI 激活。
  • 通过 docker-compose 轻松部署微服务架构。

你无法通过像 Express +(其他东西)这样的旧框架来实现这些事情

至于缺点:

  • 很难理解为什么会有一个contoller文件service,为什么有多个module文件与forRoot数据库forRootAsync的连接等等。

  • 随着时间的推移,在没有 Nestjs 的情况下编写/构建项目将变得很困难,因为它非常好,但编程模式有点不同。

  • @Afaq 提到 TS 是未来(Nestjs 也是),但这有点错误。JS 作为母语总是继承 TS 的最佳可用选项,就像 CoffeeScript 等一样。因此,未来的某一天,您可能会一觉醒来,将您的 TS 代码库视为没有适当支持的遗留代码,而本机技术却在不断发展。

  • 关于TS和未来我从其他资深程序员那里听到了同样的推理,谢谢你的回答 (2认同)

SPS*_*SPS 6

与流行的观点相反,我建议稍微了解一下express,用JS和express(没有花哨的框架)制作一个简单的服务器,然后将其转换为TS。了解 Express 库及其工作原理。NestJS 抽象了很多 Express'y' 的东西。了解其幕后工作原理总是件好事。

我从普通的旧式 JS + Express 转向 NestJS,了解它的底层工作原理感觉很好。

它不需要是一个大应用程序,只需创建一个带有身份验证、验证和数据库的 TODO 即可。

不过从 NestJS 开始并没有什么问题。