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

Which technology stack (modules, frameworks) is better for the first node.js project in order to study node and make a good product?

本文关键字:框架 模块 堆栈 js 项目 node 第一个 技术 节点      更新时间:2023-09-26

一年前,我在node中做了一些小步骤。即使在那时,也有大量的模块和框架。现在我想更深入地学习节点环境,并启动一个基于web的(针对web和移动应用程序的服务)项目。我知道很多事情都取决于你在写什么样的应用程序,但其中总是有某种基础的

在这一点上,我想知道:

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

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

谢谢)

我将尝试从一个试图通过并行开发具有不同"最先进"模块组合的相同项目来进入Node.js的人的角度来回答您的问题。

  1. 和往常一样,项目的复杂性决定了方法。如果你想了解Node的所有复杂性,你可以从头开始构建,并在需要时使用相关的库(如连接和数据库层抽象,如摇篮或猫鼬,答案2中有更多内容)。

    如果你想有一个代码库,从中可以找到可行的解决方案,你应该选择Express框架(基于连接构建),因为它似乎在节点开发人员中最为广泛。许多教程网站提供了包含此框架的易于遵循的示例。Bogart模块也会这样做,但它并不像公众所知的那样。

  2. 除了Express之外,您可能还想为HTML输出查看模板系统。我建议杰德这样做。我将在答案4中解释原因。另一种选择是Moustach或EJS。

    然后,您应该检查一下摇篮或猫鼬,因为这些模块是方便数据库访问所必需的。现在已经涵盖了核心功能和DB,您可能需要研究CSS魔术的LESS或SASS模块。

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

  3. 我想我已经介绍了2中的模块。已经,那么现在讨论DB问题。我确实很喜欢使用MongoDB,您可以很容易地使用它,并在互联网上找到许多文档和最佳实践。我自己也发现CouchDB更有趣,因为它提供了一个基于API的奇妙访问,而且它的口号是"放松"-但它并没有那么重要。只要你了解驱动mongo和couch的NoSQL方法,你就可以使用它们中的任何一个。我强烈建议避免传统的基于SQL的数据库,因为NoSQL数据库系统的JSON格式输出无缝集成到Node.js的JavaScript环境中。

  4. 我是用JS和Coffee开发的,我可以告诉你一件事:喝一杯后者,你会更容易地启动和运行你的项目缩进基于缩进的编程与Jade Templateing系统齐头并进,后者也是对缩进敏感的。对于服务器代码和视图代码(以及CSS,即使是缩进也只是为了方便您自己)具有相同的心态,这使得同时开发这两种代码变得更加容易。我还没有从JS中找到一个问题,这个问题无法用更漂亮的CoffeeScript表达式来解决。

  5. 关注github上的节点项目,关注Express/Connect/creed/Jade/mongoose/-github上的项目,谷歌搜索"博客节点快速教程",并尝试加入IRC.greenode.net上的IRC社区。那里有趣的频道将是#node.js,也许还有##javascript。从那时起,人们会带你去更专业的房间。我强烈建议你去那里,那里对你很有帮助。

    奥出版社有一些非常好的书,但它们一送到书店就过时了。由于社区每天都在开发新的功能和版本,您应该尽可能接近核心功能的开发人员。在IRC上,你甚至可以问他们你的问题(可能有点有趣)——尽管如此,你还是会得到答案和提示。

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

  1. Connect是一个强大而灵活的小型框架。我认为,有了正确的模块集,这是最好的解决方案
  2. nodemongodb本机用于mongodb,db-mysql用于mysql,仅用于模板化。使用节点工具箱查找更多信息
  3. 我使用MongoDB和MySQL。这取决于项目
  4. 我使用简单的JavaScript,但这是一个品味问题。我喜欢本地人
  5. 源代码。真的。Node.JS生态系统发展非常快。大多数文件在撰写时已经过时。使用GitHub监视项目。这真的很有帮助
  1. 使用库而不是框架,除了expressjs。大多数框架往往会使问题变得比现在更复杂。一定要使用符合良好许可条款的库。如果它们不再维护,你至少可以接管这个项目
  2. ExpressJS、Jade、Stylus、SocketIO、下划线、jsdom
  3. Mongo无疑是目前最受欢迎的。我认为原因是它的控制台接口使用了JavaScript。它与开发人员产生了更多的"语言协同效应"
  4. CoffeeScript有自己的怪癖,但它仍然比普通的JavaScript好得多。注意,这是一个意见
  5. 在那里帮不了你;我只是通过阅读网上的东西来完成学习过程
  1. 这取决于你的知识基础。。我从使用一堆框架开始,并逐步理解核心概念,但我建议先从小处着手
  2. 有足够多的Express指南,这是开始使用node的好方法,但它确实需要一个模板引擎,如Jade或EJS。。(我更喜欢ejs来呈现基本的.html文件)。作为一个助手,node有大量的基本模块,例如:require('http');这是理解请求流的良好起点
  3. Mongo和Redis是一些最宽容的数据库的IMO,并且有大量的抽象。尽管你可以选择更商业化的东西,比如Parse.com
  4. 如果你已经知道JS。。坚持下去。否则,使用CS作为快速编写Javascript的一种方式,而不是取代它的基础。在线上也有更多面向初学者的JS示例,但在Git上实现了更多坚如磐石的咖啡脚本
  5. 对此也不太确定。。看看Brad Dayley的"NodeJS、MongoDB和AngularJS"一书和谷歌的MEAN堆栈开发