一年前,我在节点中做了一些小步骤。即使这样,也有大量的模块和框架。现在我想更深入地学习节点环境并开始基于Web(Web和移动应用程序服务)项目。我知道很多事情取决于你正在编写什么样的应用程序,但总有一些基础。
此时我想知道:
所有这些问题都相当广泛,但答案对所有初学者都非常有帮助
谢谢)
答案 0 :(得分:5)
我会尝试通过同时开发具有“最先进”模块的不同组合的相同项目尝试进入Node.js的人来回答您的问题。
像往常一样,项目的复杂性决定了这种方法。如果你想学习Node的各种复杂性,你可以从头开始构建,只需要使用相关的库(例如连接和数据库层抽象,例如cradle或mongoose,在答案2中更多)。他们。
如果你想拥有一个可以找到可行解决方案的代码库,你应该选择Express框架(基于连接构建),因为它似乎是节点开发人员中最普遍的。许多教程网站提供易于理解的examples that include this framework。 Bogart模块也会这样做,但它不是公开的。
除Express之外,您可能需要查看HTML输出的模板系统。我会建议Jade。我将在答案4中解释原因。另一种选择是Mustache或EJS。
然后您应该查看cradle或mongoose,因为方便的数据库访问需要这些模块。 既然涵盖了核心功能和数据库,您可能需要查看LESS或SASS模块的 CSS 魔术。
身份验证可以由everyauth处理,它提供Twitter,facebook和更多oauth功能。
我想我已经覆盖了2中的模块,所以现在进入DB问题。我确实喜欢使用 MongoDB ,您可以轻松地使用它并在Internet上找到大量文档和最佳实践。我自己发现 CouchDB 更有趣,因为它提供了一个出色的基于API的访问,它的标语是“放松”。 - 但这并不重要。只要您了解驱动mongo和沙发的NoSQL方法,您就可以使用它们中的任何一种。我强烈建议避免传统的基于SQL 的数据库,因为NoSQL数据库系统的 JSON 格式化输出无缝集成到Node.js的JavaScript环境中。
我开发了JS和Coffee,我可以告诉你一件事:用一杯后者,你可以更容易地让你的项目正常运行。 基于缩进的编程与Jade Templating系统密切相关,这也是对缩进敏感的。对服务器代码和视图代码(以及CSS,即使是缩进也只是为了您自己的方便)具有相同的思维方式,使得同时开发更容易。我还没有发现JS的一个问题,用一个更漂亮的CoffeeScript表达式无法解决。
关注github上的节点项目,按照github上的Express / Connect / cradle / Jade / mongoose /..-项目,google查看“blog node express tutorial”并尝试加入 IRC 在irc.freenode.net上的strong>社区。那里有趣的频道是#node.js,也许是## javascript。从那以后,人们会带你去更专业的房间。我强烈建议你去那里,这是一个非常有帮助的一堆。
O'Reilly出版商有一些非常好的书,但它们在运到书店的那一刻就已经过时了。由于社区每天都在开发新功能和版本,因此您应该尽可能地接近核心功能的开发人员。在IRC上,您甚至可以向他们询问(可能是一些有趣的)问题 - 尽管如此,您仍会得到答案和提示。
简而言之:与社区保持联系。
答案 1 :(得分:2)
答案 2 :(得分:1)
答案 3 :(得分:0)