2012-02-18 174 views
1

我想尝试一些可用于Web开发的新技术。我一直在使用php框架,rails和asp.net mvc,我看到Node.Js提供了很多好东西。Express.Js,Node.Js,MongoDB问题

但我不知道从哪里开始。我设置了mongodb,node.js和express.js,我玩了一下,但是我想知道如何在express.js和mongodb之间建立链接(我有猫鼬,但我不知道如何包含它),我想要一些简单而简单的例子(与express.js文档中的东西不同)来查看一些实际使用情况。

我想建立一个快速的内容管理系统和一个简单的前端,我想做一个改变并尝试一下。任何意见和帮助将不胜感激!

[编辑:我已经读过http://howtonode.org/express-mongodb它帮助,但它并不能解释很多关于如何做到这一点]

谢谢!

回答

4

以下是Node.js + MongoDB的get started博客文章。您可以轻松忽略Cloudfoundry的内容。猫鼬是基本驱动程序的一部分,所以你应该从基本的驱动程序开始。

如果你想要一些代码/想法来偷取,看看railwayjs

+0

好的,所以RailwayJs是基于构建在NodeJ上的ExpressJ构建的框架?该死的,我应该用什么来制作一个吓人的网站?哈哈但是,非常感谢您的回复! :) – TomShreds 2012-02-18 04:27:49

+1

确保你看MongoDB是网络规模的视频www.mongodb-is-web-scale.com和node.js坏屁股摇滚明星http://www.youtube.com/watch?v=bzkRVzciAZg&feature=channel – 2012-02-18 05:22:21

+0

非常非常好的视频。感谢分享,让我开始考虑可靠性与性能......有趣。 – TomShreds 2012-02-18 06:32:19

1

开始简单。使用vanilla node.js标准库HTTP模块编码一个基本网站(require('http');)。了解http请求和响应接口的基础知识,特别是流式数据的均衡接口。了解基本的fs模块以及如何在磁盘上采用普通的.html文件并将它们作为HTTP响应发送。您可以在单个.js文件中执行此操作,而无需任何第三方npm模块。完全停下来,直到你完成了,这对你有意义。如果有什么不清楚的地方,试验一下,直到问题出现(并且在这里提出更多问题)这很简单,但仍有很多方法让人困惑。

一旦你有了,你会发现它实际上已经非常高级和直接的编写一个小型网站。接下来添加express.js。研究connect中间件的概念以及中间件链如何工作,包括next回调,bodyParserstatic中间件。确保你明白为什么中间件经常需要按照特定的顺序来应用,以及如果你以错误的顺序来应用中间件,它会如何被破坏。了解express的app.error,dynamicHelpers以及文档中的大多数示例都非常好,但我同意它们,因为它们只是很小的片段,所以它们给周围的上下文以及如何将事情完全融合在一起留下了很多空间。不要坚持复杂的布局和模板的东西,只是坚持基础。

然后,也许开始将某些域级别的数据保存到文件系统上的简单文件中,也许只是.json数据。这将带来新的挑战,并帮助您了解异步世界中更复杂的事情。特别是,如果您开始必须执行一系列操作(例如递归确保存在目录路径,然后在最终叶目录中写入新文件),则需要查看流控制库(如asyncasync.js或类似文件)。

只有这样,你应该开始添加猫鼬和MongoDB到你的筹码,并与猫鼬更换您的通话fs.writeFile电话model.save

1

对我来说,所有这些真棒新技术的试验,当我发现最大的帮助在看这个示例应用程序:

演示应用 - https://github.com/madhums/nodejs-express-mongoose-demo

它显示了如何组织一个节点 - 一些很好的用法快速的应用程序,一些常见的显示猫鼬验证错误消息的通用工具,css的手写笔,jade视图等。如果您认为应该在演示应用程序中添加某些内容以帮助其他人学习新的express/mongo /等功能 - 我没有亲自问过,但在github页面上有一个检查列表,显示哪些功能已完成,以及即将推出的功能。

我也建议只是让你的手脏:)提出一个简单的想法,并尝试构建它。当某些事情感觉不对,或者你有一个街区时,那里就有一个非常惊人和不断发展的社区。

这里是上面没有提到的一些教程:

Mongoskin(猫鼬替代) - http://www.hacksparrow.com/mongoskin-tutorial-with-examples.html
Exress JS教程:http://www.hacksparrow.com/express-js-tutorial.html

此外,如果你去到GitHub的页面expressjs你会看到很多的例子特定的快速功能 - 它涉及到一些很好的细节:

快递js示例:https://github.com/visionmedia/express/tree/master/examples