1. 程式人生 > >10+ 最佳的 Node.js 教程和例項

10+ 最佳的 Node.js 教程和例項

如果你正在找Node.js的學習資料及指南,那麼請繼續(閱讀),我們的教程將會覆蓋即時聊天應用、API服務編寫、投票問卷應用、人物投票APP、社交授權、 Node.js on Raspberry Pi等等。

以下是Node.js入門的簡單介紹,如果你對Node.js略有了解可以直接跳過此部分。

10+ 最佳的 Node.js 教程結合例項

那什麼是Node.js呢?

Node.js是迄今運用最多的服務端JavaScript執行時環境,使用JavaScript開發跨平臺的實時WEB應用。

Node.js基於Google的V8 JavaScript引擎。基於事件驅動,非阻塞的輸入輸出模型,這也使得其高效而輕量。

Node.js的強大之處在於其能力支援資料密級性的互動應用,因為這類應用的函式圍繞著使用者事件,資料I/O和資料流的處理。對於JSON的API,Node.js同樣顯得很神奇,它是單頁WEB應用的心臟和靈魂。

Node.js的流行程度可以感覺得到,像eBay、target、City Group、Sony、Uber、LinkedIn、Medium、Netflix等等的大公司都有在他們的web專案中應用。

怎樣學習Node.js呢?

Node.js的開發者來自全球,他們用Node.js開發複雜互動的,資料密集型的WEB Apps和網站。同時網上有著大量的資源和教程教你怎樣構建自己的Node.js應用。

我們不防看看Node.js大神針對Web Apps寫的Node.js最佳指南。

我們所覆蓋的指南將包括針對初學者的Node.js、中級指南,同時還有教你怎樣構建複雜的Node.js專案。

對於完全的Node.js初學者,  在深入挖掘本文章後續提到的學習專案之前,一步步按照airpair.com上面

入門指南的要點 或 Node.js入門指南 之類的文章學習是不錯的選擇。Nodeschool.io是另一個比較好的網站,上面有著非常多的資料,可以學習基本的node.js及相關的技術。

通過Express框架和Socket.io構建即時通訊APP

將一個新技術學到一定高度的最好方式就是通過功能性的應用了。在這個指南中,你將學習使用Express框架和Socket.io構建即時通訊應用,這些技術可以使用基於事件的雙向通訊。在這個指南中,你還將使用Jade。

我們要介紹的指南由Krasimir Tsonev所撰寫,釋出在tutsplus.com上面,從node.js的環境搭建,使用Express框架的後端服務,到最後使用Jade模板引擎的前端UI開發,覆蓋了所有前端到後端的方方面面。

使用Swagger建立Restful API

這個精心設計的教程解釋瞭如何使用Swagger來建立,並且包括了Rest API應該支援的所有操作(CRUD,建立,查詢,更新,刪除)。這個例子是由來自scotch.io的Samuela Zara提供的,它實現了管理電影集合的Rest API。

Swagger是一個非常強大的框架來描述REST APIs,它提供了互動式的API文件編輯,客戶端sdk生成以及發現服務。通過使用Swagger,你所書寫的API將更容易被大家所理解並且使用。

在這個教程中,Samuela一開始先教會大家如何安裝node.js的Swagger模組,然後介紹了Swagger提供的模擬模式。通過這個模式,API開發者可以先集中精神進行API本身的設計,而不用寫一行的程式碼。當這個API結構被設計完成之後,教程開始帶領大傢俱體實現獲取電影,增加/修改電影以及刪除電影的操作。

在 Node.js 中使用 Nodal 建立 API Services

在大多數模組和框架之上,你就不會需要再建立任何簡陋的 JavaScript/Node.js 專案。為了多平臺(移動端,web,IOT)產品開發,面向服務的架構是關鍵的,而本教程就將帶你更進一步。

在本教程中,Keith Horwood 利用 Nodal 框架在 Node.js 中來建立 API services,並讓這一切看起來極其簡單。Nodal 是一個可擴充套件的,以意見為依據的全服務框架,它幫助資料中心加快在 Node.js 基礎上的API建立。

在本教程中,你將會在開發 MVC (模型,控制器和檢視)之前安裝 node.js 環境,安裝 Nodal 和 postgreSQL。

Node.js Apps – 使用通行證進行社交認證

社交認證幾乎隨處可見,因為我們絕大多數人在Facebook 、Twitter和Google這樣的某個社交網路上都有自己的賬號。社交網路認證的工作過程是使用已有的社交網路證書進行單點登入,同時可以登入到其它的程式。

在本教程中,你會構建一個簡單的Node.js程式,通過使用通行證作為中介軟體使用社交認證進行登入。本教程由Agraj Mangal編寫,發表在tutsplus.com網站上。

使用Rethink DB和Node.js開發投票App

本教程主要針對的是對Node.js有基本理解的初學者。在本教程中,你能通過開發一個簡單的投票app學習Node.js,該程式給使用者提供投票的三個選項,並提供投票人數的實時更新。

Angular和angural素材設計庫用於程式的前端設計,Node.js用於伺服器端,rethink DB用來儲存投票資料和相關聯的使用者資料。

通過編寫完成這樣一個簡單的程式,你就可以掌握建立整個程式的方方面面。

使用React、Node.js、MongoDB、Socket.IO開發一個角色投票App

這是高階程式設計師必須要讀的教程,當然,它不屬於初學者學習的最容易的例子。這是一篇由Sahat Yalkabov編寫的經過精心組織的教程,目的是為多人線上遊戲(Eve Online)開發一個角色投票應用,這簡直就是一個功能完整的專案。Eve Online是一個多人線上遊戲,每個玩家都有一個3D形象來代表他們的角色。

本教程包括使用Node.js框架構建REST API,使用MongoDB儲存和檢索資料,使用Socket.io實時跟蹤線上的訪問者,使用React(和Flux)進行服務端的渲染,最後將程式佈署到雲端。在本教程中,你能夠開發完成一個為Eve Online進行角色投票的app,能以一種有趣好玩的方式學習到多項技術。

使用 Node.js 和 Reactive.js 的 WI-FI 儀表板

這個教程是由 Marcello La Rocca 在 Sitepoint.com 上編寫的,適合中級的 Node.js 程式設計者。Marcello 的引領來自之前的系列教程,它還引導建立了一個儀表板新增更多關於周圍可連線 Wi-Fi 的資訊。

在這個教程中,你實現的伺服器執行在Ubuntu上,做一點小修改也可以執行在windows和mac上。伺服器實現的擴充套件來自於 Marcello 之前的教程 - 使用 Node.js建立電池。實現伺服器搭建之後,你編寫客戶端和使用者介面並使用HTML模板給當前的 Wi-Fi 列表。

測試驅動的開發 – Node.js 和 Mocha

這篇由Semaphoreci.com提供的教程將交會你如何使用Mocha來進行單元測試和整合測試。

Mocha是一個JavaScript測試框架,它既可以執行在瀏覽器中,也可以執行在Nodejs環境中。Mocha將按照順序執行所有的測試,並將出現的未捕獲異常對映到相應的測試用例上。

你可以通過使用npm來引入mocha模組。這個教程中的例子實現了一個顏色轉換程式,這個程式將RGB轉換成16進位制形式。這個教程還建立了一個web伺服器來測試非同步程式碼。

在樹莓派上使用Node.js

這篇Node.js教程是”在創造中學習”(learning through making)系列的一部分,該系列由Dave Johnson編寫,發表在thisdavej.com網站上。通過本教程,你能學會在樹莓派2和樹莓派3上安裝Node.js。本教程自始至終主要關注的是在樹莓派上安裝Node.js。 學完本教程後,你可以進一步學習本系列中的其它教程,以便學會在樹莓派上使用Node.js,教程包括“探索使用Node.js在樹莓派上建立因特網web伺服器”和“不用編碼而只使用node.js建立web伺服器”。

Node.js教程:開發情緒分析應用

這是另一篇優秀的教程,由Scott Rich編寫,發表在IBM developerWorks上。本教程使用Node.js, Express框架, Sentiment模組和ntwitter模組開發了一個基於推特進行情緒分析的小型程式。 在本教程中,你將學習設定express框架,執行並測試hello Node.js程式,以確保框架工作正常,為程式新增情緒分析功能,並將程式連線到twitter,最後將它們整合在一起,以形成一個功能完整的程式。

結論

Node.js是有魔力的,它承諾可以讓使用者很容易地進行實時互動程式和Restful APIs的開發。網路上有很多Node.js教程,有免費的也有需要付費的。當然,你可以花費時間去搜索那些教程,並通讀它,最終學會用Node.js開發殺手級的App和API。但是,俗話說,時間就是金錢。本文提供了node.js例子教程,就是想為你節省時間。

更好的節省時間的方式是從第一天開始就要正確的選擇Node.js教程。本文提及的Marcello, Sahat Yalkabov, Keith Horwood和其他的一些作者都是Node.js領域的專家,曾編寫《可靠的Node.js例項教程》。培養興趣,和偉大的Node.js一起前行吧。