Node JS 教程:從零開始學習 Node JS
已發表: 2022-02-17需要任何形式的消費者交互的網站和應用程序都需要後端服務器。 這些服務器必須建立在可擴展且高效的異步程序上。 用於創建服務器和應用程序的最流行的開源平台之一是 Node.js。 它支持構建單頁網站和應用程序、聊天機器人以及 Netflix 和 LinkedIn 等數據驅動平台。 這個博客解釋了什麼是 Node.js,它的各種特性,在節點上設置和創建應用程序。
目錄
什麼是 Node.js?
Node.js 由 Ryan Dahl 於 2009 年構建,是一個跨平台的JavaScript運行時環境。 在 V8 引擎的支持下,Node.js 可以在 Web 瀏覽器之外執行 JavaScript 代碼。 此外,作為服務器端平台,它授予用戶受限訪問權限。 只有授權用戶才能訪問所有功能,而其他用戶只能看到有限的信息。 顧名思義,服務器端程序為服務器端而不是客戶端運行和執行代碼。
Node.js 使用 Google Chrome 的 Javascript 來構建快速的網絡應用程序。
閱讀: Node JS 和 React JS 的區別
Node.js 的各種特性是什麼?
以下是 Node.js 的一些重要特性:
- 可擴展性:軟件應用程序最理想的屬性之一是可擴展性。 它意味著能夠擴展或增加其容量和功能以滿足各種用戶的需求。 即使可擴展的軟件根據用戶的需求進行多次更改,其關鍵仍然是相同的。 它可以並行處理大量請求。 因此,Node.js 允許程序員創建應用程序的多個版本,每個版本都有不同的功能來滿足目標受眾的需求
- 單線程: Node.js 架構使用單線程循環事件。 這意味著平台只需要一個序列來執行一組指令。 它有助於一次執行單個命令。 在 node.js 上創建的應用程序使用單線程架構。 它同時處理多個客戶端,例如 HTML、ASP.NET 和 JSP。 每當客戶端向服務器發送請求時,它都會與其他客戶端的請求一起進入 Web 服務器中的無限循環。 Web 服務器一次從多個請求中選擇一個請求,然後從池中選擇一個線程。 然後將該線程分配給讀取、處理和執行其他操作的客戶端請求。
- 及時執行:- node.js 的另一個顯著特點是它的快速執行。 由於平台使用 V8 JavaScript 引擎,代碼運行速度很快。
- 異步和事件驅動:- Node.js 是一個異步事件驅動的平台,表示不同的進程或功能獨立運行。 功能不同步。 node.js 服務器不等待應用程序編程接口 (API) 發送數據。 一旦服務器訪問一個 API,它就會處理另一個請求。 為了跟踪 API 請求的響應,它使用事件作為通知機制。 它具有三個主要元素——事件隊列、事件循環和線程池。
- 與各種平台的兼容性:- Node.js 可以跨各種平台運行,包括 Windows、Linux、Mac 和移動設備。
- 無緩衝:-在 node.js 中,數據不緩衝。 實際上,最終數據是以塊的形式接收的。
Node.js 的各種用途是什麼?
Node.js 是構建應用程序的流行選擇,因為它具有可伸縮性和異步屬性。 以下是 Node.js 最常見的用途。
- IoT 應用程序:-由於 IoT 應用程序必須管理動態數據,它們需要框架來處理大量數據流。 Node.js 是一個可擴展的軟件,能夠管理大量數據流。
- 數據流應用程序:-這些是音頻或視頻流應用程序,其中大量數據以小包的形式發送。 Node.js 具有支持數據流的內置模塊。
- 實時應用程序:-此類應用程序的一個經典示例是聊天機器人,用戶在其中發送消息並接收即時響應。 由於其高速和可擴展性,Nodes.js 是創建實時聊天或消息傳遞應用程序的理想平台。
有用的閱讀,2022 年你需要知道的 41 個 Node.Js 面試問題和答案
設置 Node.js 環境
您可以藉助兩個元素設置本地環境以在桌面上使用 Node.js; 文本編輯器和可安裝的 Node.js 二進製文件。
- 文本編輯器:-您需要像 Windows Notepad、EMACS、Epsilon 這樣的文本編輯器來鍵入程序。 但是,您需要確保文本編輯器與您的操作系統兼容並更新到最新版本。 您可以使用擴展名為“.js”的文本編輯器創建源文件。
- Node.js 運行時:-源代碼是 JavaScript,由 node.js 解釋器解釋。 您可以使用適用於 Windows、Mac 和其他操作系統的 Node.js 二進製文件。
如何在 Node.js 中創建第一個應用程序?
在 Node.js 上創建應用程序分為三個步驟; 導入所需的模塊,構建服務器,讀取請求並返迴響應。
- 導入所需模塊:-要在 Node.js 中加載所需模塊,您必須使用“require”指令。 例如,如果您必須導入 HTTP 模塊,則必須輸入 require (“http”)。
- 創建服務器:- 由於 Node.js 是一個服務器端模塊,您必須使用加載的模塊創建一個服務器。 如上例所示,您可以使用 http.createServer() 來構建服務器。 您需要轉到 Node.js 命令並打開一個新提示符以啟動服務器。 在命令提示符下輸入 cd desktop 後,可以在桌面執行 main.js 或源文件。
- 讀取請求:-啟動服務器後,您必須請求創建的 Node.js 服務器進行測試。 為此,您需要在瀏覽器中打開http://127.0.0.1:8081/ 。 您將看到文本“Hello World”,這意味著服務器正在接受請求。 但是,如果您稍後在源文件中進行更改,則需要重新運行 Node main.js 命令。
Node.js 中的 REPL 終端
Node.js 包含 Read Eval Print Loop (RELP),這是一個類似於 Windows 控制台的 Linux shell 的計算機環境。 它有助於使用 Node.js 執行各種實驗和調試 JavaScript 代碼。 您在環境中輸入命令並在交互模式下接收輸出。 以下是 REPL 終端的四個基本任務:
- 讀取:- RELP 讀取用戶提供的輸入,並通過 JavaScript 和數據結構將其存儲在內存中。
- 評估:-另一個關鍵任務是評估數據結構。
- 打印:-評估後,RELP 幫助打印結果。
- 循環:-在 Node.js 中,上述命令循環工作,直到用戶必須按 ctrl-c 兩次。
以下是 Node.js 中的一些 REPL 命令
- Ctrl+C 一次終止正在進行的命令。 兩次,它終止了節點 REPL。
- Tab 鍵告訴您所有當前命令的列表。
- .help 為您提供所有命令的列表。
- .break 為開發人員提供了從多行表達式中退出的機會。
- .load filename 允許您在 REPL 會話中加載文件內容。
Node.js 中的事件循環
在 Node.js 中,回調是您必須在完成特定任務後執行的異步函數。 Node.js 中幾乎所有的應用程序編程接口都需要回調。 Node.js 中的事件循環使用回調函數。 當節點服務器啟動時,循環等待任何事件發生。 監聽到一個事件後,循環觸發回調函數。
結論
Node.js 是一個具有異步功能的高度可擴展平台。 Amazon、Netflix、Paypal、LinkedIn、Reddit 等領先公司使用 Node.js 進行後端開發、聊天機器人和其他操作。
如果您對編碼、編程和軟件開發感興趣,並希望在該領域建立職業生涯,那麼最好掌握 Node.js 的專業知識。 從頭開始學習 Node.js 的最佳方式是攻讀計算機科學學位。 您可以報名參加利物浦約翰摩爾斯大學提供的upGrad 計算機科學碩士課程。
報名參加世界頂尖大學的軟件開發課程。 獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。
什麼是 Node.js?
Node.js 是一個基於 JavaScript 的運行時環境,運行在 Chrome 的 V8 引擎上。 它是一個可擴展的平台,使用異步函數和單線程來創建實用的數據驅動應用程序。
Node.js 用於什麼?
Node.js 廣泛用於創建單頁網站、移動應用程序、社交媒體網絡平台的後端、聊天機器人和數據驅動的應用程序。