Node.js 如何决定节点使用哪个框架?

Node.js 如何决定节点使用哪个框架?,node.js,Node.js,所以我们使用node已经有一段时间了,我必须说,随着node社区的不断发展,人们也在开发很多很棒的模块和框架。但是,随着我们正在进行越来越多的项目,我有时会对采用哪种框架感到困惑。到目前为止,我们使用了以下框架: -我最喜欢的node框架之一,这也是我们开始在node.js中制作应用程序时的第一个框架(我认为这也是第一个获得如此广泛应用的框架)。我们确实存在回调hells之类的问题,但如果路由和代码组织更干净,我们很乐意使用它 -另一个来自TJ和团队,这太棒了!在任何浏览器都不支持的情况下使用E

所以我们使用node已经有一段时间了,我必须说,随着node社区的不断发展,人们也在开发很多很棒的模块和框架。但是,随着我们正在进行越来越多的项目,我有时会对采用哪种框架感到困惑。到目前为止,我们使用了以下框架:

  • -我最喜欢的node框架之一,这也是我们开始在node.js中制作应用程序时的第一个框架(我认为这也是第一个获得如此广泛应用的框架)。我们确实存在回调hells之类的问题,但如果路由和代码组织更干净,我们很乐意使用它

  • -另一个来自TJ和团队,这太棒了!在任何浏览器都不支持的情况下使用ECS 6。(特别是当它帮助您完全删除回调hells时)。我们遇到了一些问题,HTTPS符合膝关节炎,不得不重新编写整个服务器使用HAPI和事实上,它取决于不稳定的版本,现在在节点。
  • -这是我们最新采用的,并没有做太多,但其中最有趣的部分是joi模块,它帮助我们在请求到达实际服务器之前(轻松地)验证请求,以及自动生成文档

  • -我与它没有太多互动,但在阅读文档时,我发现

  • 使用服务和依赖注入,就像AngularJS一样,但在 后端

    这真是太棒了,但由于它仍处于测试阶段,我不打算在短期内使用它

    因此,当你尝试为你的应用程序开发一个框架时,是否有一个框架擅长而其他框架不擅长的特定功能集?因为老实说,我们采用了大部分框架,只是为了尝试它们,除了语法差异(除了使用ECS 6的Koa)和它们如何处理路由,我在它们之间找不到太大的差异。 所以,我的问题是,我们应该采取任何框架,只是看看它的流行程度(这是人们通常做的)还是在我们做同样的事情时需要考虑的一些检查点? 感谢您的任何建议/帮助

    编辑

    我想补充一点,我对这个问题的意图是在选择任何NoDE.js框架时,要找出<>强>关键点< /强>(而不是仅仅取决于它的受欢迎程度或有多少大名在使用它)。对于前端,我们可以很容易地说出来,因为我们已经知道或已经被告知有助于开发更容易的关键功能(angular和backbone之间的差异就是一个例子),但对于node.js框架来说,这是不可能的


    我也会要求别人考虑我的编辑。

    < P>我会尽量把这个答案当做非自以为是的。请编辑并帮助我改进。这是一个重要的话题,应该得到一个好的答案

    Express.js 专业人士

    • Express.js是个大人物,相当老,非常受欢迎
    • 易于使用的视图
    • 非常轻
    缺点

    • 没有花哨的特征
    KA.JS 专业人士

    • 轻量级
    • Koa可能是Express的继任者
    • 没有回调地狱,感谢ES6发电机
    • 和Express是同一个人建造的
    缺点

    • 相当新,不是超级精致
    • 使用ECMAScript 6功能,这意味着您需要Node.js v0.11(不稳定)
    哈皮 专业人士

    • 很多官方模块,但不是很多第三方模块
    • 由一家将其用于自己产品的大公司开发
    缺点

    • 由沃尔玛建造
    • 指定路由的语法不同于膝关节炎或Express。
    • 它本身和所有的官方模块都有奇怪的名字
    合成器 第一个专门为单页web应用程序设计的后端框架

    专业人士

    • ala Angular.js专为后端单页网站而设计
    • API优先
    • 依赖注入,来自Java的人很熟悉
    • 设计用于做大量后端工作,允许您在前端工作
    缺点

    • 依赖注入,很多人不喜欢它,因为Java是它存在的唯一原因
    • 非常新,目前处于测试阶段
    • 与更传统的网站不兼容
    更多资源
    • ()许多web框架的基准测试,目前只有原始Node.js、Express和Node.js的Hapi

    虽然这是一个写得很好的问题(与大多数问题不同,它已经投入了相当多的精力),但它仍然要求给出一些自以为是的答案。我的目的只是在尝试选择node.js框架时确定关键点。我从来没有对前端有过同样的困惑,我可以很容易地支持Angular,仅仅基于它提供的特性(当然,这在其他系统中是不可用的,而且Angular使开发变得如此简单),但在选择节点框架时,我感觉不到相同(或者可能我不知道它们的所有关键特性,这就是我在问题中提出的问题)我对这个问题投了更高的票,但也把它当作了离题题。遗憾的是,我不确定这样的问题是否适合提出。感谢你的努力。但我需要更多的东西,也需要重新开放这个问题,让所有人都知道答案。沃尔玛是如何构建的?Angnular.js得到了谷歌的支持,这一切都很好。