node.js中长期项目的最佳资源

时间:2012-11-06 16:51:12

标签: node.js web-applications frameworks resources express

到目前为止,我一直在用PHP开发。现在我即将开始几个新项目,我认为node.js对他们来说是完美的。我阅读了一些关于语言的一般(面向互联网的)指南,我可以毫无问题地理解它们,但是当它在一个真实的发展情况中把它们放在一起时,它似乎变得非常混乱(通过使用许多可用的框架)。 当我试图遵循它们时,我能找到的最佳指南看起来确实过时了。

因此,我亲自询问您是否可以向我提供一些关于如何完全在javascript中开发应用程序(服务器端和客户端)的最新且模糊的完整教程/资源。

我通常只会在长期(以及大中型)项目中工作,因此我希望将库保持在最低限度。但我也不是一种hackery类型:我希望能够专注于程序的逻辑,并且框架的使用是完全可以接受的。我只是不想过度使用我永远不会使用的功能(或者可以轻松实现自己)。

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:1)

Node.js是基于这样一种思想构建的,即拥有一个可以使用任意数量的库扩展的轻量级核心(即node core vs. userland)。因此,如果您使用节点,您将 - 内生 - 最终使用许多小库(或捆绑了大量库的库)。

这里的亮点在于你可以选择自己最适合当前特定情况的堆栈。 Node的包管理器(npm)以这种方式表现出色 - 它可以让您轻松管理非常异构的堆栈。

如果你来自像PHP(或rails)这样更加自以为是的环境,那么不同的框架和库的数量一开始可能会让人不知所措。 Node.js不强制您使用任何特定的堆栈或约定,这使您可以更灵活地执行任何操作。事实上,您甚至不应该将node.js视为一个框架 - 它是一个JavaScript运行时环境,您可以在其上构建Web服务器(和Web框架)。

如果你正在寻找人们应用node.js的流行方式,一个好的起点是检查npm中各种包的流行程度(并且依赖于它)(参见https://npmjs.org/)。根据包的流行度(和依赖计数),可以建议使用以下类型的堆栈:

  • 使用express.js(基于connect.js)作为您的Web应用程序框架
  • 使用jade
  • 编写服务器端标记
  • 使用requestasync和下划线作为帮助程序库
  • 使用mocha编写测试
  • 可选择在CoffeeScript
  • 中编写您的申请
  • 使用MongoDB作为您的数据库(以及可选的redis用于类似会话)

请注意,这个堆栈只是基于npm用户喜欢哪种库选择 - 它不会告诉你什么样的堆栈最适合你的特定情况。