一、Nodejs簡介
1、核心定義
????????Node.js 是一個基于 Chrome V8 引擎的開源、跨平臺 JavaScript 運行時環境(Runtime),用于在服務器端或本地運行 JavaScript 代碼。它并非編程語言、庫或框架,而是擴展了 JavaScript 的能力,使其脫離瀏覽器沙盒,能夠訪問文件系統、網絡等系統資源,實現全棧開發。
2、核心特點
????????Node.js 的設計理念圍繞“高效處理并發”展開,關鍵特點如下:
????????◆?非阻塞 I/O(事件驅動):處理文件讀寫、網絡請求等 I/O 操作時,不等待結果返回,而是繼續處理其他請求;當 I/O 完成后,通過回調函數通知主線程。這種模式大幅提高了 I/O 密集型應用的并發能力。
????????◆?單線程架構:使用一個主線程處理事件循環(Event Loop),避免了多線程切換的開銷和復雜性。但單線程意味著無法并行處理 CPU 密集型任務(如復雜計算),否則會阻塞整個進程。
????????◆?跨平臺支持:可在 Windows、Linux、macOS 等操作系統上運行,實現“一次編寫,多處部署”。
????????◆?高性能 V8 引擎:基于 Google Chrome 的 V8 引擎,將 JavaScript 代碼編譯為機器碼執行,執行速度快,性能出色。
3、核心組成與模塊
????????Node.js 的功能由內置核心模塊和第三方模塊共同支撐:
????????1. 內置核心模塊(無需安裝,直接使用)
????????◆?fs:文件系統操作(如讀取、寫入、刪除文件);
????????◆?http/https:創建 HTTP/HTTPS 服務器和客戶端,處理網絡請求;
????????◆?path:處理文件路徑(如拼接、解析路徑);
????????◆?os:獲取操作系統信息(如 CPU 架構、內存容量);
????????◆?events:實現事件驅動機制(如自定義事件、監聽事件);
????????◆?stream:處理數據流(如文件流、網絡流),提高 I/O 效率。
????????2. 第三方模塊(通過 npm 管理)
????????npm(Node Package Manager):Node.js 的包管理工具,是全球最大的 JavaScript 開源庫生態系統。開發者可通過 npm install 命令快速安裝第三方模塊(如 npm install express 安裝 Express 框架),也可發布自己的模塊供他人使用。
4、適用場景
????????Node.js 適合I/O 密集型應用(而非 CPU 密集型),常見場景包括:
????????◆?實時應用:如實時聊天(微信小程序后端)、視頻流服務(抖音直播)、協作工具(騰訊文檔),事件驅動模型能快速響應實時請求;
????????◆?API 服務:構建 RESTful API 或 GraphQL API,為前端應用(如 React、Vue)提供數據接口;
????????◆?單頁應用(SPA)后端:處理前端路由、數據交互等,簡化全棧開發流程;
????????◆?微服務架構:作為微服務節點,輕量、高效的特性有助于構建可擴展的分布式系統;
????????◆?命令行工具:如 Webpack、Gulp 等前端構建工具,均基于 Node.js 開發。
5、生態系統
????????Node.js 的生態系統極為豐富,關鍵組件包括:
????????框架:
? ? ? ? ◆?Express.js:極簡 Web 框架,簡化路由、中間件等開發流程(如 app.get('/api/user', (req, res) => res.send('user data')));
????????◆?Koa.js:Express 團隊開發的下一代框架,采用 async/await 語法,更簡潔、靈活;
????????工具:
????????◆?Socket.io:實現實時雙向通信(支持 WebSocket),適用于實時聊天、多人游戲;
????????◆?Mongoose:MongoDB 的對象文檔模型(ODM)庫,簡化數據庫操作;
????????◆?數據庫:MongoDB(NoSQL)、MySQL(關系型)等,均與 Node.js 配合良好。
6、總結
????????Node.js 的出現讓 JavaScript 從“瀏覽器端語言”升級為“全棧語言”,其核心優勢在于非阻塞 I/O 和事件驅動模型,使其在 I/O 密集型應用中表現出色。通過龐大的生態系統,開發者可以快速構建高效、可擴展的應用,大幅降低全棧開發的學習成本。
????????無論是前端開發者想了解前后端交互,還是后端開發者想嘗試輕量級服務,Node.js 都是值得學習的重要技術。💡
二、Nodejs下載安裝
1、Nodejs下載
官網下載地址:Node.js — Download Node.js?
中文網下載地址:下載 Node.js
或者直接輸入Node.js官網IP地址(如https://nodejs.org/dist/latest-v16.x/)嘗試訪問。??
2、Nodejs安裝
◆ 雙擊壓縮包出現安裝界面點擊【Next】
◆ 點擊【Change...】后修改安裝路徑(建議放在C盤外的其他盤中)后點擊【Next】
◆ 該頁面可根據自身需求進行選擇,沒有特殊需求選擇默認設置安裝,直接點擊【next】
◆ 直接點擊【Next】
◆ 點擊【Install】
◆ 安裝完成,點擊【Finish】
3、安裝驗證
????????測試是否安裝成功,使用【 win+R】 鍵,輸入cmd,打開命令窗口
? ? ? ? 窗口內輸入:
node -v //顯示node.js版本
npm -v //顯示npm版本
? ? ? ? 給出結果如下則安裝成功:
三、Nodejs環境配置
? ? ? ? 1、打開安裝的目錄,在安裝目錄下新建兩個文件夾【node_global】和【node_cache】
? ? ? ? 2、再次打開cmd命令窗口,輸入npm config set prefix “你的路徑\node_global” 以及? npm config set cache “你的路徑\node_cache” (可直接復制剛剛新建的空文件夾目錄,執行時候建議使用管理員權限打開CMD,否則有可能會提示權限不夠報錯)
npm config set prefix “你的路徑\node_global”
npm config set cache “你的路徑\node_cache”
? ? ? ? 3、設置環境變量,打開【系統屬性】-【高級】-【環境變量】,在系統變量中新建變量名及變量值(?用來告訴系統, 下載的模塊或者包都在這里了),如下是以個人安裝路徑為例子:
變量名:
NODE_PATH
變量值:
D:\Path\nodejs\node_global\node_modules
????????配置保存后在 node_global 文件中會多出一個 node_modules 文件,如果輸入變量值后 node_global 文件中沒有自動創建 node_modules 文件夾,可以手動在node_gobal 中創建一個 node_modules 文件夾,然后把 node_modules 文件夾的路徑地址復制并粘貼到變量值。????????? ?
? ? ? ? 4、編輯?用戶變量?中的?PATH,將默認的C盤下的?C:\Users\21639\AppData\Roaming\npm 修改為 node_global 的路徑,然后點擊確定
? ? ? ? 5、在?系統變量?中選擇?PATH?點擊編輯,添加【NODE_PATH】,然后一直點擊確定?
? ? ? ? 6、配置完成后,全局安裝一個最常用的 express 模塊進行測試
????????如果上述操作過后安裝express失敗,可以對nodejs文件中的 node_global 以及 node_cache 文件夾權限進行修改,鼠標右擊的文件夾,點擊【屬性】,再點擊【安全】,再點擊【編輯】,將權限都勾上后保存即可,如若還不行就把nodejs整個文件夾權限放開即可。