2012-02-18 175 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