Express.js
名詞 · 後端框架
適用於 Node.js 的極簡且靈活的網頁框架,提供一套強大的功能來建構網頁應用程式和 REST API——憑藉其簡潔性、效能和可擴展的 middleware 生態系統,被視為 JavaScript 後端開發的事實標準。
Node.js 原生 HTTP 模組之上的輕量抽象層,簡化路由、請求和回應的管理——只需幾行程式碼即可建立完整的後端伺服器,同時保持對應用架構的完全控制。
NestJS、Sails.js 和 LoopBack 等主要框架所依賴的技術基礎——Express.js 被 Uber、IBM、Accenture 和數千家企業用於生產環境,每天服務數百萬個 API 請求,可靠性和可擴展性經過實證。
Express.js 是一個用於 Node.js 的開源後端框架,能快速且有結構地建立網頁伺服器和 RESTful API。它提供強大的路由系統、middleware 管理和模板引擎的原生整合。Express.js 是全球使用最多的 Node.js 框架,NPM 上每週超過 3,000 萬次下載。我們的團隊將其作為 Full-stack JavaScript 架構的後端基礎。
使用 Express.js 是因為它在 JavaScript 後端開發中提供了簡潔性和強大功能的最佳平衡。其極簡架構允許在幾分鐘內啟動 API 伺服器,而其可擴展的 middleware 系統能處理身份驗證、驗證、日誌記錄和 CORS,而不會使框架過載。Express.js 與 MongoDB、PostgreSQL 和 Redis 資料庫完美整合,是 React 和 Next.js 建構高效能 Full-stack 應用程式的理想伴侶。
要安裝 Express.js,請確保已安裝 Node.js 和 NPM,然後使用 `npm init -y` 初始化專案。接著使用 `npm install express` 安裝 Express。建立一個包含最小程式碼的 `app.js` 檔案:`const express = require('express'); const app = express(); app.listen(3000)`。您的 Express 伺服器就準備好了。對於專業設定,我們建議立即加入必要的 middleware:`cors`、`helmet`(安全性)和 `morgan`(請求日誌)。
NPM 的配置透過 `package.json` 檔案進行,它集中管理專案的中繼資料、依賴項和執行腳本。使用 `npm init` 建立(會引導您完成選項設定),或使用 `npm init -y` 採用預設值。然後在 `scripts` 區段配置自訂腳本:`"start": "node app.js"`、`"dev": "nodemon app.js"`。對於全域設定(proxy、私有倉庫),使用 `npm config set`。良好的 NPM 配置是所有專業結構化且可重現專案的基礎。
要安裝 NPM 套件,使用命令 `npm install 套件名稱`(或 `npm i 套件名稱`),它會下載套件並自動加入到 `package.json` 的依賴項中。加上 `--save-dev`(或 `-D`)標記僅用於開發依賴項(linter、測試工具)。要安裝特定版本:`npm install express@4.18.2`。安裝前務必透過查看下載量、最後更新日期和 GitHub 上的開放 issues 數量來驗證套件的可靠性。
Node.js 中的 middleware 是在接收 HTTP 請求和發送回應之間執行的函式,能存取 `req`(請求)、`res`(回應)和 `next`(傳遞到下一個 middleware 的函式)物件。Middleware 形成一條處理鏈,可以修改請求、驗證資料、檢查身份驗證、記錄存取或處理錯誤。這種架構模式是 Express.js 哲學的核心,能建構每一層都有單一且可測試職責的模組化應用程式。
Express middleware 是 Express.js 框架特有的函式,攔截每個傳入請求並在到達最終路由前執行處理。Express 使用 middleware 處理一切:請求本體解析(`express.json()`)、靜態檔案管理(`express.static()`)、安全性(`helmet`)、CORS(`cors`)和錯誤處理。它們透過 `app.use()` 堆疊並按宣告順序執行。在 Async Code,我們將 middleware 分層架構(安全、驗證、商業邏輯、回應),實現最佳可維護性。
選擇 Express.js 就是選擇全球最受歡迎的 JavaScript 後端框架的經過驗證的穩定性,擁有龐大社群和超過 50,000 個 middleware 套件的生態系統。對 JavaScript 開發者來說學習曲線平緩,其非限制性架構提供完全的設計自由,在高負載 REST API 上效能卓越。Express.js 也是 NestJS 等更結構化框架的基礎,確保所學技能長期保持相關性。
Body-parser 是一個 Node.js middleware,解析傳入 HTTP 請求的本體並透過 `req.body` 使資料可存取。它支援 JSON 格式(`bodyParser.json()`)、URL-encoded(`bodyParser.urlencoded()`)和 raw/text。歷史上是獨立套件,body-parser 自 Express.js 4.16 版起已透過 `express.json()` 和 `express.urlencoded()` 直接整合。它對於接收來自 React 或 Next.js 等前端應用程式表單資料或 JSON 負載的任何伺服器仍然不可或缺。
是的,Express.js 在 2025 年仍然是全球使用最廣泛的 Node.js 後端框架,NPM 上每週超過 3,000 萬次下載,存在於大多數專業 JavaScript 技術棧中。雖然 Fastify(基準測試效能更高)或 NestJS(更結構化)等替代方案日益受歡迎,Express.js 憑藉其簡潔性、成熟度和無與倫比的生態系統保持主導地位。在 Async Code,我們在生產環境中將其用於後端 API,搭配我們的 Next.js 應用程式,它持續在大規模場景中證明其可靠性。