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

2021-03-02 前端開發

來自:開源中國社區

連結:www.oschina.net/translate/best-nodejs-tutorial-with-examples(點擊尾部閱讀原文前往)

原文:noeticforce.com/best-nodejs-tutorial-with-examples

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

以下是Node.js入門的簡單介紹,如果你對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構建即時通訊應用,這些技術可以使用基於事件的雙向通信。在這個指南中,你還將使用JavaScript模板引擎Jade。

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

你可以在後面這個連結中找到這篇指南:  即時通訊(Node.js Tutorial – Real Time Chat) .

使用Swagger創建Restful API

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

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

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

你可以通過Restful API in Node.js using Swagger這個連結來訪問該教程。


在 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 中使用 Nodal 建立 API Services.

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

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

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

要獲得本教程可訪問連結Node.js Apps - Social Authentication with Passport.

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

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

Angular和angural素材設計庫用於程序的前端設計,Node.js用於伺服器端,rethink DB用來存儲投票數據和相關聯的用戶數據。

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

要獲得本教程可訪問- Polling App using Rethink DB and Node.js.

角色投票系統 – Node.js, React, MongoDB and Socket.io

這個教程是為有一定基礎的nodejs開發人員量身定做的,如果你是一個nodejs的初學者,那麼這個教程並不適合閱讀。這是一篇由Sahat Yalkabov編寫的經過精心組織的教程,目的是為多人在線遊戲(Eve Online)開發一個角色投票應用,這是一個功能完整的項目。Eve Online是一個多人在線遊戲,每個玩家都有一個3D形象來代表他們的角色。

這篇教程覆蓋了一下這些內容:使用Node.js Express 框架創建REST API, 使用MongoDB進行數據的存儲,使用Socket.IO實時跟蹤在線的訪問者,使用React(和Flux)進行伺服器端的頁面繪製,並且最終將這個引用部署到雲端。通過這個教程,你不僅能建成一個對Eve Online進行角色頭像投票的系統,而且還可以通過充滿樂趣的方式學習到許多的知識。

你可以通過下面的連結訪問這個教程 - Character Voting App – Node.js, React, MongoDB and Socket.io

使用 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 和 Reactive.js 編寫 WI-FI 儀錶板。

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

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

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

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

你可以通過下面的連結Test Driven Development – Node.js and Mocha找到這個教程。

在樹莓派上使用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 on Raspberry Pi。 

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

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

在Twitter Sentiment Analysis App in Node.js上可以找到這篇教程。

結論

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一起前行吧。

●本文編號251,以後想閱讀這篇文章直接輸入251即可。

●輸入m可以獲取到文章目錄

15個技術類公眾微信

涵蓋:程序人生、算法與數據結構、黑客技術與網絡安全、大數據技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。

相關焦點

  • Node.js 學習資料和教程(值得收藏)
    的buffer類利用libuv編寫異步多線程的addon實例Node.js中exports與module.exports的區別Node.js http 管道拒絕服務漏洞Node.js高級編程百萬級並發 Node.js也能行高性能Node.js:來自LinkedIn Mobile的10條優化建議Kraken:改變PayPal開發文化的Node.js框架Groupon拋棄Rails,轉向
  • 專門針對初學者的Node.js教程
    Node.js的教程並不缺乏,但有大部分教程針對已有Node.js基礎的開發者。「我已下載了Node.js,可我如何開始呢?」以下教程是專門針對Node.js初學者,文中將通過實例分享,一步步教你如何開始Node.js之旅。  什麼是Node.js?
  • nodejs 中文分詞模塊 node-segment
    >// 載入模塊var Segment = require('segment');// 創建實例var segment = new Segment();// 使用默認的識別模塊及字典,載入字典文件需要1秒,僅初始化時執行一次即可segment.useDefault(); // 開始分詞
  • centos7編程實踐:安裝nodejs
    由於最近項目的需要,我需要在centos7上安裝nodejs,故總結這份教程,希望能幫助需要的同學。一、nodeJS簡介1、Nodejs是什麼?2、node.js的優勢2.1、Nodejs語法完全是js語法,只要你懂js基礎就可以學會Nodejs後端開發Node打破了過去JavaScript只能在瀏覽器中運行的局面。
  • 推薦一些Node.js超好用的工具庫
    開源地址:https://github.com/axios/axiosnodemailernodemailer是我用過最好用的 node.js 發郵件庫,上代碼!開源地址:https://github.com/nodemailer/nodemailershowdownshowdown是將markdown轉html的庫,前後端均可用,我的博客就是使用showdown將本地markdown文章轉換為html, 然後同步到 v2fy.com實例代碼
  • Node.js 入門到幹活,10 個項目就夠了
    Node.js 入門到幹活,10 個項目就夠了 Node.js 在很多大公司都有不錯的實踐,比如:淘寶、天貓 Web 版,很多頁面都是在 Node 伺服器上渲染的。還有各種腳手架、前端打包發布工具、構建生態的小工具,也基本都是 Node.js 編寫的。
  • Node.JS快速入門
    我們在命令提示符下輸入命令node demo1.js ,結果如下:2.2 使用函數我們剛才的例子非常簡單,咱們這裡再看一下函數的使用:我們在命令提示符下輸入命令node demo2.js ,結果如下:>2.3 模塊化編程創建demo3_1.js創建demo3_2.js2.4 創建web伺服器創建demo4.jshttp為node內置的
  • Node.js模塊化你所需要知道的事
    at REPLServer.onLine (repl.js:533:10)複製代碼現在,可以嘗試把需要引用的find-me模塊放在上述的任意一個目錄下,在這裡我們創建一個node_modules目錄,並創建find-me.js文件,讓Node.js能夠找到它:~/learn-node $ mkdir node_modules
  • 使用Chrome DevTools有效調試Node.js
    Node.js的內置調試器Node.js附帶一個內置的調試工具。如果您在命令行上啟動應用程式,並且應用程式的起點node debug index.js,那麼它將以調試模式啟動。$ node debug index.js高級調試Chrome和Node.js與V8共享相同的JavaScript引擎,所以應該可以使用相同的工具來調試和分析應用程式。
  • 10 個最適合 Web 和 APP 開發的 NodeJS 框架
    Node.js Express 對於一個已經在使用 node.js 的開發人員來說,Express 或者」node.js express」並不是一個新鮮事。Express 框架提供了對 node.js 原生 API 的比較好的封裝,從而使開發者更加容易地使用node.js。 Express 框架提供了用來開發強壯的 web/移動應用,以及 API 的所有功能。
  • node.js、MongoDB下一代的LAMP
    node.js、MongoDB下一代的LAMP 我們大部分人在做網站時,都用的是LAMP,殊不知LAMP已成過去式,新一代的小生:nix、node.js、MongoDB誕生了,讓我們走進他們,知道他們的故事!
  • 使用 AngularJS & NodeJS 實現基於 token 的認證應用
    它們都是使用 base-64 編碼方式進行存儲。signature 包括了 header,payload 和密鑰的混合體。密鑰必須安全地保存儲在服務端。你可以在下面看到 JWT 剛要和一個實例 token:
  • 實戰:在Node.js和Vue.js中構建文件壓縮應用程式
    Node.js為我們提供了一個模塊來協助文件壓縮。在本文中,我們將構建一個應用程式,用戶可以在該應用程式中上傳他們想要壓縮的文件,然後使用Node.js Zlib模塊下載該文件的壓縮版本。前提要繼續學習本教程,你需要具備以下條件:熟悉HTML,CSS和Javascript(ES6 +)設置項目我們將從構建後端開始,這是我們應用程式的基礎。
  • 前端頁面開發之Node JS初學者指南
    相信大部分讀者都已經對ajax編程十分熟悉了,其中ajax中的a(asynchronous)指的是異步編成,所以在node.js世界中,一切的方法都是異步執行的,因此比如你需要程序中閱讀一個作業系統中的文件,則必須指定一個回調方法,則在讀取完這個文件後,則會執行這個回調方法的內容。  下面,就Node.js跟其他語言來做個小的對比,讀者可以可以看出其中的端倪。
  • 你不知道的 Npm(Node.js 進階必備好文)
    但是 npm 本身對兩個腳本提供了默認值,這兩個腳本不用在 script 屬性中定義,可以直接使用"start": "node server.js""install": "node-gyp rebuild"npm run start 的默認值是 node server.js ,前提是根目錄下有 server.js
  • Node.js 8 重要功能和修復全解析 - OSCHINA - 中文開源技術交流社區
    Node.js 8將從2017年10月起,正式成為當前的LTS版本,並持續到2019年12月31日。這也意味著Node.js 6版本將在2018年4月進入到維護模式,並在2019年4月結束維護支持。Node.js 8 中的緩衝區安全性改進在Node.js 8版本之前,使用new Buffer(Number)構造函數分配的緩衝區並未使用ZEROS初始化內存空間。結果導致新的Buffer實例可能包含敏感信息,容易導致安全問題。雖然這是一個用於提高創建新Buffer性能的決定,但是對大多數人來說,並不打算這麼使用。
  • nodejs windows環境下搭建
    目前,Node.js是在前端開發中十分受歡迎,它是一套用來編寫高性能網絡伺服器的JavaScript工具包,官網中介紹:Node.js 是一個基於Chrome JavaScript 運行時建立的一個平臺, 用來方便地搭建快速的 易於擴展的網絡應用; Node.js 藉助事件驅動, 非阻塞I
  • 全程指導:Node JS實戰之製作塗鴉遊戲
    curl http://npmjs.org/install.sh | sh  在安裝完畢node.js後,我們需要安裝node.js中的模塊包,因為在程序中我們要用到網絡相關的一系列功能,而幸運的是,node.js都幫我們封裝了大量而豐富的相關的各種函數和方法
  • 【Node.js系列】Express 介紹
    或者移動端應用今天就來簡單的了解一下 Express 框架安裝首先安裝 Express ,新建一個工作文件夾,並命名為 myapp ,在此文件夾下進行環境的初始化:npm init官方推薦的入口文件名為 app.jsentry point: (index.js) app.js
  • 【實戰】基於Nginx、Node.js和Redis的Docker工作流
    作者通過一個完整的示例講述了構建一個基於Nginx、Node.js、Redis的應用服務的Docker流程。推薦所有Docker使用者閱讀,並根據文章實踐。在我的前一篇文章中,我已經介紹了關於容器和Docker是如何影響PaaS、微服務和雲計算的。