首页 > 解决方案 > NestJs 是 node.js 初学者的正确选择,还是我应该先用 Express 做点什么?

问题描述

我知道Nest.js在 Express JS 之上并且可以在 fastify 上,我已经在 Mozilla (MDN) 培训站点上完成了 express JS 库项目,但是出于许多原因,例如应用程序的架构以及我在网上看到的关于问题情况的讨论使用 express 和现代 JS,如 async-await 等……</p>

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

精简版

因此,这是我作为前端开发人员(主要是 vue 和苗条)在 NodeJS 氛围(express 和 hapi)中几个月的当前情况,我的问题是:我应该坚持 hapi 和 express 还是使用 NestJs 和羽毛和风帆等替代品?

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

标签: node.jstypescriptexpresssails.jsnestjs

解决方案


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

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

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

您无法通过 Express +(其他)这样的旧框架实现这些目标

至于缺点:

  • 很难理解为什么会有一个contoller文件,一个文件service,以及为什么有多个module文件与forRootDB的forRootAsync连接等等。

  • 随着时间的推移,不使用 Nestjs 编写/构建项目会很困难,因为它非常好,但编程模式略有不同。

  • @Afaq 提到 TS 是未来(以及 Nestjs),但这有点错误。JS 作为一种原生语言总是从 TS 继承最好的可用选项,就像它对 CoffeeScript 等所做的那样。因此,在未来的某一天,您可能会醒来并将您的 TS 代码库视为没有适当支持的遗产,而原生技术正在向前发展。


推荐阅读