Node.js 是什么?
零基礎(chǔ)小白也能 10 分鐘看懂!
一、先打個(gè)比方:Node.js 就像一家 24 小時(shí)營(yíng)業(yè)的“快餐店”
傳統(tǒng)做法(PHP、Java) | Node.js 做法 |
---|---|
客人(請(qǐng)求)來(lái)了,廚師先洗手、點(diǎn)火、做菜,做完再服務(wù)下一位。 | 提前做好半成品,客人來(lái)了直接加熱上菜;一個(gè)廚師可同時(shí)服務(wù)很多客人。 |
這個(gè)“半成品”就是 JavaScript,“快餐店”就是 Node.js。
它讓前端同學(xué)用熟悉的語(yǔ)言(JavaScript)也能寫(xiě)后端,還能做得飛快!
二、官方定義(用一句話(huà)背?。?/h2>
Node.js 是一個(gè)基于 Chrome V8 引擎的 JavaScript 運(yùn)行時(shí),事件驅(qū)動(dòng)、非阻塞 I/O,天生適合高并發(fā)。
拆成 3 個(gè)關(guān)鍵詞:
- 運(yùn)行時(shí)——讓你電腦直接跑 JS,不靠瀏覽器。
- 事件驅(qū)動(dòng)——有活就干,沒(méi)活就休息,省電省內(nèi)存。
- 非阻塞 I/O——讀寫(xiě)文件/數(shù)據(jù)庫(kù)時(shí)不會(huì)卡死,效率飆升。
三、3 分鐘裝好 Node.js(Windows/Mac 通用)
- 打開(kāi) Node.js 中文官網(wǎng)(nodejs.org/zh-cn) → 下載 LTS 版(長(zhǎng)期支持版)。
- 一路 “下一步” 安裝。
- 打開(kāi)命令行敲:
node -v
看到版本號(hào)(如 v22.18.0
)就 OK!
如出現(xiàn)以下提示
'node' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序
或批處理文件。
則說(shuō)明沒(méi)有正確安裝,請(qǐng)重新安裝再試。
四、寫(xiě)第一行 Node.js 代碼
在項(xiàng)目文件夾新建 hello.js
,輸入:
// 引入內(nèi)置模塊
const 操作系統(tǒng) = require('os');
// 打印當(dāng)前電腦 CPU 核心數(shù)
console.log('我的電腦有', 操作系統(tǒng).cpus().length, '個(gè)核心');
終端執(zhí)行:
node hello.js
輸出示例:
我的電腦有 8 個(gè)核心
恭喜你,已經(jīng)用 Node.js 調(diào)用了系統(tǒng)級(jí) API!
五、做一個(gè)超迷你“本地服務(wù)器”
在同級(jí)目錄再建 server.js
:
// 引入 http 模塊
const http = require('http');
// 創(chuàng)建服務(wù)器
const 服務(wù)器 = http.createServer((請(qǐng)求, 響應(yīng)) => {
響應(yīng).writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
響應(yīng).end('<h1>你好,我是 Node.js!</h1><p>來(lái)自編程獅教程示例</p>');
});
// 監(jiān)聽(tīng) 3000 端口
服務(wù)器.listen(3000, () => {
console.log('服務(wù)器已啟動(dòng),瀏覽器訪(fǎng)問(wèn) http://localhost:3000');
});
運(yùn)行:
node server.js
瀏覽器打開(kāi) http://localhost:3000
,就能看到頁(yè)面啦!
六、為什么要學(xué) Node.js?給你 4 個(gè)理由
場(chǎng)景 | 優(yōu)勢(shì) |
---|---|
全棧開(kāi)發(fā) | 前端、后端都用 JavaScript,一套語(yǔ)言走天下。 |
高并發(fā)接口 | 秒殺活動(dòng)、聊天室、實(shí)時(shí)推送,Node.js 拿手好戲。 |
前端工程化 | Webpack、Vite、ESLint 全用 Node.js 驅(qū)動(dòng)。 |
云函數(shù)/Serverless | 阿里云、騰訊云云函數(shù)默認(rèn)支持 Node.js,上傳即運(yùn)行。 |
七、零基礎(chǔ)學(xué)習(xí)路徑(編程獅內(nèi)部路線(xiàn)圖)
- JavaScript 基礎(chǔ)語(yǔ)法
《JavaScript 基礎(chǔ)實(shí)戰(zhàn)》
先搞定變量、函數(shù)、異步 Promise。
- Node.js 核心模塊
《Node.js 入門(mén)課程》
內(nèi)容:fs、http、events、express、mongodb。
- 實(shí)戰(zhàn)項(xiàng)目
? 用 Express 寫(xiě) RESTful API
? 用 Socket.IO 做在線(xiàn)聊天室
? 用 Egg.js 開(kāi)發(fā)企業(yè)級(jí)后臺(tái)
八、常見(jiàn)疑問(wèn) FAQ
Q1:Node.js 能替代 Java/PHP 嗎?
A:在 I/O 密集型場(chǎng)景(接口、網(wǎng)關(guān)、SSR)幾乎可平替;CPU 密集任務(wù)可交給 C++ 子進(jìn)程或 Rust。
Q2:學(xué)完 Node.js 薪資如何?
A:2024 年拉勾網(wǎng)平均 15–25 K,一線(xiàn)城市全棧崗位吃香。
Q3:沒(méi)有后端基礎(chǔ)能學(xué)嗎?
A:能!本教程就是給純小白設(shè)計(jì)的,跟著敲代碼即可。
九、小結(jié)
一句話(huà)總結(jié):Node.js 讓 JavaScript 走出瀏覽器,把前端技能直接放大到后端、命令行、甚至物聯(lián)網(wǎng)!
想繼續(xù)深造?立即訪(fǎng)問(wèn) w3cschool.cn(編程獅),搜索“Node.js”,有多種類(lèi)型課程,隨時(shí)邊學(xué)邊練。