1. JavaScript
如果你是一名希望掌握一些後端技能的前端開發人員,那麼在開始構建 Node.js 應用程式之前,將不必花費大量時間學習 JavaScript。但是,如果你是一個初學者,希望在儘可能短的時間內掌握 Node.js,那麼在深入研究 Node.js 環境之前,必須學習以下概念。
箭頭函式資料型別表示式函式詞法this迴圈和作用域陣列模版字串嚴格模式ES6/ES7在Node.js中,將面對大量的非同步程式設計,為此,建議學習以下概念。
計時器Promises閉包事件迴圈非同步函式回撥函式2. NPMNode Package Manager 擁有大量的軟體包,在我們開發需要大量依賴關係的應用程式時,使用 NPM 包管理程式將非常方便。
3. Node.js 基礎Event EmittersCallbacksBuffersModule System4. 版本控制系統Git,GitHub
5. HTTP / HTTPS協議瞭解有關如何使用傳輸協議傳輸資料的基礎知識將使您成為更好的Node.js開發人員,對HTTP和HTTPS的工作原理有很好的瞭解。HTTPS使用稱為傳輸層安全性(TLS)的加密協議來加密通訊。在後端環境中有很多東西要學習,如果您不瞭解網路的工作原理,可能會有些困惑,有以下幾種請常見的求方法用於網路上的基本通訊:
GET:用於檢索資源的表示形式POST:用於建立新資源PUT:用於更新功能PATCH:用於修改功能DELETE:用於刪除URL標識的資源OPTIONS:請求給定URL或伺服器的允許的通訊選項6. WEB 框架以下框架不需要全部精通,擇一學習即可。
Express.jsMeteor.jsSails.jsKoa.jsNest.js7. 資料庫管理關係型資料庫
SQL ServerMySQLPostgreSQLMariaDBNoSQL資料庫
MongoDBRedis8. 全文檢索ElasticSearch
一個基於Apache Lucene並使用Java開發的搜尋和分析引擎。使用ElasticSearch,您可以實時儲存和分析大量資料。當它搜尋索引而不是搜尋文字時,ElasticSearch也實現了出色的搜尋效能。它的核心是使用基於結構的文件,而不是廣泛的REST API附帶的用於儲存和搜尋資料的表和模式。您可以將ElasticSearch視為處理JSON請求並向您返回JSON資料的伺服器。
Solr
它提供了相當高階的實時搜尋功能,例如欄位搜尋,布林查詢,階段查詢,模糊查詢,拼寫檢查,自動完成等等。
9. 快取Memory Cache
這種技術通常也稱為快取,因為在大多數情況下,快取與伺服器中的記憶體相關聯。在這種技術中,伺服器記憶體的一部分用作快取,我們在其中儲存減少應用程式中的網路呼叫所需的所有資料。在Node.js中,我們擁有node-cache 和 memory-cache作為一些出色的庫來處理nodejs伺服器中的記憶體快取。
Distributed Cache
在這種快取技術中,我們將多個網路的記憶體合併到一個記憶體資料儲存中,之後將其用作最終資料快取以證明對資料的快速訪問。此技術尤其適用於大量資料,並且透過向群集新增更多伺服器記憶體,大量的網路呼叫同時允許增量擴充套件和擴充套件。關於分散式快取,Redis是最著名的事情之一。
10. 模板引擎使用模板引擎,我們可以在應用程式中使用靜態模板檔案,而在執行時,該模板引擎將模板檔案中的變數替換為實際值,然後將模板轉換為傳送給客戶端的HTML檔案。下面列出了一些流行的模板引擎。
Mustache.jsHandlebarsEJS11. 實時通訊如果您只是作為後端開發人員起步,那麼在瞭解Socket.IO中的實時通訊方面有很多事情,實時通訊背後的主要邏輯就在於客戶端和伺服器之間。它允許流動雙向客戶端與伺服器之間的資料,你能想到的雙向資料流的資料的兩個終端之間的同步流程,實現實時通訊的行為,這類行為被啟用時,客戶端在瀏覽器中具有Socket.IO以及與Socket.IO軟體包整合的伺服器。並且資料可以以JSON請求的形式傳送。
12. API ClientsRESTGraphQL13. 測試單元測試框架
在單元測試中,我們隔離地測試各個單元/元件,其中單元可以是應用程式中程式碼中可測試的最小部分。在Node.js中,下面列出了幾種常見的單元測試框架:
JestMochaChai