在現代 Web 開發中,前端工程師不再只是處理 HTML、CSS 和 JavaScript,許多人開始學習後端,成為全端工程師(Full Stack Developer)。而 Node.js 正是最受歡迎的後端技術之一。
如果你曾經遇過以下問題:
- 「JavaScript 只能在瀏覽器上執行嗎?」
- 「後端開發一定要學 PHP、Python 或 Java 嗎?」
- 「如何使用同一種語言開發前後端?」
那麼,Node.js 會讓你驚喜!它讓 JavaScript 不僅能寫前端,還能寫後端 API、資料庫、即時通訊,甚至物聯網(IoT)應用!
什麼是 Node.js?
Node.js 是一個 基於 Chrome V8 引擎的 JavaScript 執行環境,讓 JavaScript 可以在伺服器端執行,而不只是用於瀏覽器。
簡單來說,Node.js 讓你用 JavaScript 來寫後端應用程式,例如:
✅ API 伺服器(Express.js、NestJS)
✅ 即時應用(WebSocket、聊天系統)
✅ 伺服器端渲染(SSR,Next.js、Nuxt.js)
✅ 物聯網(IoT)、爬蟲、批次處理
為什麼要學 Node.js?
1. 前後端統一語言
在傳統開發中,前端用 JavaScript,後端可能用 PHP、Python 或 Java,開發者必須學習多種語言。而 Node.js 讓你 前後端都用 JavaScript,減少語言切換,提高開發效率。
2. 高效能 & 非同步架構
Node.js 採用 事件驅動(Event-driven) 和 非阻塞 I/O(Non-blocking I/O),適合高併發的應用,如聊天系統、即時通知、API 服務等。
3. 大量開源套件(NPM)
Node.js 內建 NPM(Node Package Manager),擁有超過 200 萬個開源套件,可以幫助你快速開發各種應用。
4. 適合微服務與雲端部署
Node.js 被廣泛應用於 微服務架構,並且與 AWS、GCP、Azure 等雲端平台高度整合,讓部署更方便。
如何安裝 Node.js?
1. 下載並安裝 Node.js
從 Node.js 官方網站 下載適合你的版本,安裝完成後,在終端機(Terminal)輸入:
node -v
如果成功顯示版本號,表示安裝成功!
2. 安裝 NPM(Node.js 內建的套件管理工具)
輸入以下指令查看 NPM 版本:
npm -v
Node.js 基本用法
1. Hello World - 建立第一個伺服器
建立一個 server.js 檔案,並寫入以下程式碼:
const http = require("http");
const server = http.createServer((req, res) => {
res.writeHead(200, { "Content-Type": "text/plain" });
res.end("Hello, Node.js!");
});
server.listen(3000, () => {
console.log("伺服器運行於 http://localhost:3000");
});
執行伺服器:
node server.js
然後打開瀏覽器,輸入 http://localhost:3000,你將會看到 "Hello, Node.js!"。
使用 Express.js 快速開發 API
Node.js 本身提供 http 模組,但寫 API 還是用 Express.js 最方便!
1. 安裝 Express
npm install express
2. 建立 API 伺服器
建立 app.js,寫入以下程式碼:
const express = require("express");
const app = express();
app.get("/", (req, res) => {
res.send("Hello, Express!");
});
app.get("/api/users", (req, res) => {
res.json([
{ id: 1, name: "Alice" },
{ id: 2, name: "Bob" }
]);
});
app.listen(3000, () => {
console.log("API 伺服器運行於 http://localhost:3000");
});
3. 啟動伺服器
node app.js
打開瀏覽器,進入 http://localhost:3000/api/users,你會看到 JSON 格式的用戶資料。
連接 MongoDB 資料庫(Mongoose)
Node.js 可以搭配 MongoDB 來處理 NoSQL 資料庫。
1. 安裝 MongoDB 和 Mongoose
npm install mongoose
2. 連接 MongoDB 並存取資料
const mongoose = require("mongoose");
mongoose.connect("mongodb://localhost:27017/mydatabase", {
useNewUrlParser: true,
useUnifiedTopology: true,
});
const UserSchema = new mongoose.Schema({
name: String,
email: String,
});
const User = mongoose.model("User", UserSchema);
// 新增用戶
const newUser = new User({ name: "Charlie", email: "charlie@example.com" });
newUser.save().then(() => console.log("用戶已儲存"));
這樣就成功將用戶資料存入 MongoDB 了!
Node.js 進階應用
- 開發 RESTful API(Express.js + MongoDB)
- 即時應用(WebSocket) - 建立聊天室應用
- 爬蟲應用 - 使用
puppeteer或cheerio來抓取網頁資料 - 批次處理與自動化 - 使用
cron設定定時任務 - 伺服器端渲染(SSR) - 搭配 Next.js 讓 React 頁面支援 SEO
為什麼全端工程師應該學 Node.js?
✅ 前後端都用 JavaScript,提高開發效率
✅ 搭配 Express.js 快速開發 API,支援 RESTful 服務
✅ 適合即時應用,如 WebSocket、聊天系統
✅ 有龐大的 NPM 生態系統,開源資源豐富
✅ 支援雲端與微服務架構,適合大規模應用
Node.js 不只是後端開發的選擇,對於想要掌握全端技能的工程師來說,它更是不可或缺的技術。
結論
Node.js 讓 JavaScript 不再侷限於前端,開發者可以用同一種語言開發完整的全端應用。無論是開發 API、即時應用,還是處理資料庫,Node.js 都能幫助你快速上手並提升開發效率。
如果你還沒學過 Node.js,現在就是最好的時機!?
你對 Node.js 有什麼想法?你最常用哪些 NPM 套件?歡迎留言討論!?
評論