Node.js簡介
Tip
已經決定要學的話,底下介紹可以先略過,直接從 用 nvm 安裝 開始動手。左側導覽由上往下就是學習順序。
什麼是 Node.js?
Node.js 不是另一種程式語言,而是 JavaScript 的執行環境(runtime):負責讀你的 .js 檔、執行裡面的程式。
瀏覽器裡的 JS 只能操作網頁;Node.js 用同一套語法,但加上本機能力,例如讀寫檔案、開 HTTP 伺服器、跑命令列工具。它由 Ryan Dahl 於 2009 年發布,核心是 Chrome 的 V8 引擎。
Node.js 的特點
- 還是 JavaScript:語法與瀏覽器相同,學會一套就能寫前端工具與後端。
- 跨平台:Windows、macOS、Linux 都能跑。
- 擅長 I/O:讀檔、等網路這類「花時間等待」的工作,它可以先去做下一件事,不必傻等。
- 套件多:用 npm 就能安裝別人寫好的工具,不必什麼都自己做。
Node.js 的應用
- 後端與 API:用內建
http或 Express、Fastify 提供網頁與資料介面。 - 前端工具鏈:Vite、TypeScript、測試都跑在 Node.js 上。
- 本機腳本:改檔名、轉資料、批次處理。
- 即時服務:聊天、通知這類長連線場景。
學 Node.js 要學哪些東西?
先分清三個名字,後面才不會混:
| 要學的 | 它是什麼 | 對應單元 |
|---|---|---|
| nvm | 安裝、切換 Node 版本 | 用 nvm 安裝 |
| Node.js | 執行 .js 檔 |
第一次執行 |
| JavaScript 語法 | 變數、型態、判斷、迴圈、函式 | 基礎語法 |
| 模組 | 把程式拆成多個檔案 | 模組 |
| npm | 安裝套件、執行專案指令 | npm 套件管理 |
| 檔案 IO | 讀寫本機檔案 | 檔案 IO |
| HTTP | 寫最小伺服器 | HTTP 伺服器 |
| 非同步 | 用 await 等結果 |
非同步 |
flowchart LR
A[nvm 裝對版本] --> B[node 跑程式]
B --> C[JavaScript 語法]
C --> D[模組拆檔]
D --> E[npm 管套件]
E --> F[檔案與 HTTP]
F --> G[await 非同步]
左側導覽由上往下就是這個順序。每一頁只講一個主題。
先學最有用的 20%
不必一次學完整個生態。把這條路徑跑通,就能自己開小專案:
- 用 nvm 裝 LTS,確認
node -v與npm -v。 - 寫
hello.js,用node hello.js跑起來。 - 會用
let/const、字串與陣列、if/for、函式。 - 用
import/export拆檔。 npm init -y、npm install、npm run。- 讀一個檔、寫一個最小 HTTP 伺服器。
- 會
await非同步結果。
這是本站主線。Express、TypeScript 等框架,等這條線穩了再學。
總結
Node.js 讓 JavaScript 能在本機與伺服器做事。先依序把 nvm、執行、語法、模組、npm、檔案/HTTP、非同步做熟,再學框架會快很多。