NestJs是node.js初学者的正确选择,还是我应该先用Express做点什么?[closed]

rt4zxlrg  于 2023-03-01  发布在  Node.js
关注(0)|答案(4)|浏览(290)
    • 已关闭**。此问题为opinion-based。当前不接受答案。
    • 想要改进此问题吗?**请更新此问题,以便editing this post可以用事实和引文来回答。

3小时前关门了。
Improve this question
我知道Nest.js在Express JS之上,可以在fastify上,我已经在Mozilla(MDN)培训网站上完成了Express JS库项目,但由于许多原因,如应用程序的架构和我在网上看到的关于Express和现代JS(如异步等待等)问题情况的讨论...
我在寻找一个更可靠的选择:sails-js,nest和features出现了,features很棒,但是Nest.js有很好的文档,我避免了一段时间的 typescript ,但是现在它似乎无处不在,我希望通过nest我可以更好地了解它和它的实际用途,在前端我真的找不到使用它的好理由,除了它是一种趋势,除了Angular 2加。不要误解我的意思,Angular 是我希望来到TS的原因之一。

短版本

这就是我目前作为前端开发人员(主要是vue & svelte)在NodeJS环境(express和hapi)中工作几个月的情况,我的问题是:* 我应该坚持hapi & express还是选择雀巢& featings and sail之类的替代品?*
请原谅我缺乏用英语写作的经验。

7tofc5zh

7tofc5zh1#

js & Typescript是企业级应用程序的框架,它提供了清晰的结构和指导原则。
因此,对于初学者的优点是:

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

您无法通过像Express +(其他东西)这样的旧框架实现这些功能
至于缺点:

  • 很难理解为什么会有contoller文件、service文件,为什么会有多个module文件,这些文件与数据库之间存在forRootforRootAsync连接等等。
  • 随着时间的推移,编写/构建没有Nestjs的项目将变得困难,因为Nestjs非常好,但编程模式有点不同。
  • @Afaq提到TS是未来(Nestjs也是),但这有点不对,JS作为原生语言,总是继承了TS最好的可用选项,就像CoffeeScript等等一样,所以未来的某一天,你可能会醒来,看到自己的TS代码库是没有适当支持的遗留物,而原生技术却在向前发展。
zbdgwd5y

zbdgwd5y2#

与流行的观点相反,我建议了解一下express,用JS和express做一个简单的服务器(没有花哨的框架),把它转换成TS。了解express库和它是如何工作的。NestJS抽象了很多express的东西。知道它是如何工作的总是很好的。
从普通的老JS +快递来到NestJS,知道它在引擎盖下是如何工作的感觉很好。
它不需要是一个大的应用程序,只需创建一个带有身份验证、验证和数据库的TODO即可。
不过,从NestJS开始并没有什么错。

eyh26e7m

eyh26e7m3#

在我看来,你应该选择nestjs。Typescript是未来。一旦你喜欢上了typescript,你就会爱上它。Nestjs为构建web应用程序提供了一个非常干净的结构。在功能方面,它可以与LARAVEL、DJANGO等成熟的框架相媲美。是的,它可能没有那么受欢迎,但它正在增长。我真的推荐使用nestjs。好处是,你并不总是需要Typescript,Nest也可以很好地处理普通的javascript。

wlwcrazw

wlwcrazw4#

这个问题已经有一年多的历史了,我相信OP的船已经起航了,但是对于任何一个阅读这个主题的新手来说,首先用expressjs构建一个基本的应用程序,然后尝试先把它重写为typescript。
只有当你知道什么是抽象的,为什么要抽象的时候,框架才是有用的,你能够理解的唯一方法是首先使用底层技术。

相关问题