哪个技术堆栈(模块,框架)更适合第一个node.js项目,以便研究节点并制作出好的产品?

pro*_*ich 4 javascript web-services node.js

一年前,我在节点上做了一些小步骤.即使这样,也有大量的模块和框架.现在我想更深入地学习节点环境并开始基于Web(Web和移动应用程序服务)项目.我知道很多事情取决于你写的是什么类型的应用程序,但总有一些基础.

此时我想知道:

  1. 从头开始或采取某种框架(您认为哪一个)更好?
  2. 哪些模块最重要?我应该首先注意哪些模块?
  3. 您更喜欢哪些数据库和模块?
  4. 我听说你可以写coffeescript节点.我该怎么办呢?或者也许最好使用javascript?
  5. 关于节点的一些有用的书籍和教程.

所有这些问题都相当广泛,但答案对所有初学者都非常有帮助

谢谢 )

arv*_*ahl 5

我将尝试通过同时开发具有"最先进"模块的不同组合的相同项目来尝试进入Node.js的人的观点来回答您的问题.

  1. 像往常一样,项目的复杂性决定了这种方法.如果你想学习Node的各种复杂性,你可以从头开始构建,只需要使用相关的库(例如连接和数据库层抽象,例如cradle或mongoose,在答案2中更多).他们.

    如果你想拥有一个可以找到可行解决方案的代码库,你应该选择Express框架(基于connect建立),因为它似乎是节点开发人员中最普遍的.许多教程站点提供了包含此框架的易于理解的示例.Bogart模块也会这样做,但它不是公开的.

  2. 除Express外,您可能需要查看HTML输出的模板系统.我会建议Jade.我将在答案4中解释原因.另一种选择是Mustache或EJS.

    然后你应该检查摇篮猫鼬,因为这些模块将需要方便的数据库访问.既然涵盖了核心功能和数据库,您可能需要查看LESS或SASS模块以获得CSS魔力.

    身份验证可以由everyauth处理,它提供twitter,facebook和更多oauth功能.

  3. 我想我已经覆盖了2中的模块,所以现在已经解决了数据库问题.我确实喜欢使用MongoDB,您可以轻松地使用它并在Internet上找到大量文档和最佳实践.我自己发现CouchDB更有趣,因为它提供了一个出色的基于API的访问,它的标语是"放松". - 但这并不重要.只要您了解驱动mongo和沙发的NoSQL方法,您就可以使用它们中的任何一种.我强烈建议避免使用传统的基于SQL的数据库,因为NoSQL数据库系统的JSON格式输出无缝集成到Node.js的JavaScript环境中.

  4. 我开发了JS和Coffee,我可以告诉你一件事:用一杯后者,你可以更轻松地完成项目的运行.基于缩进的编程与Jade Templating系统密切相关,Jade Templating系统也是压痕敏感的.对服务器代码和视图代码(以及CSS,即使是缩进也只是为了您自己的方便)具有相同的思维方式,使得同时开发更容易.我还没有找到一个JS的问题,用一个更漂亮的CoffeeScript表达式无法解决.

  5. 按照github上的节点项目,按照github上的Express/Connect/cradle/Jade/mongoose /..-项目,google查看"blog node express tutorial",尝试加入irc.freenode.net上的IRC社区.那里有趣的频道是#node.js,也许是## javascript.从那以后,人们会带你去更专业的房间.我强烈建议你去那里,这是一个非常有帮助的一堆.

    O'Reilly出版商有一些非常好的书,但是它们在运到书店的那一刻就已经过时了.由于社区每天都在开发新功能和版本,因此您应该尽可能地接近核心功能的开发人员.在IRC上,您甚至可以向他们询问(可能是一些有趣的)问题 - 尽管如此,您仍会得到答案和提示.

    简而言之:与社区保持联系.