SKILL.md
唯讀
名稱
nodejs-express-server
描述
建立可投入生產的 Express.js 伺服器,包含中介軟體、驗證、路由與資料庫整合。適用於建立 REST API、管理請求/回應、實作中介軟體鏈以及處理伺服器邏輯。
Node.js Express Server
目錄
概述
建立穩健的 Express.js 應用程式,包含適當的路由、中介軟體鏈、驗證機制與資料庫整合,遵循業界最佳實踐。
使用時機
- 使用 Node.js 建立 REST API
- 實作伺服器端請求處理
- 建立橫切關注點的中介軟體鏈
- 管理驗證與授權
- 從 Node.js 連接資料庫
- 實作錯誤處理與日誌記錄
快速開始
最小可運作範例:
const express = require("express");
const app = express();
const PORT = process.env.PORT || 3000;
// 中介軟體
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
// 路由
app.get("/health", (req, res) => {
res.json({ status: "OK", timestamp: new Date().toISOString() });
});
// 錯誤處理
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(err.status || 500).json({
error: err.message,
requestId: req.id,
});
});
app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});
參考指南
詳細實作位於 references/ 目錄:
| 指南 | 內容 |
|---|---|
| 基本 Express 設定 | 基本 Express 設定 |
| 中介軟體鏈實作 | 中介軟體鏈實作 |
| 資料庫整合(PostgreSQL 搭配 Sequelize) | 資料庫整合(PostgreSQL 搭配 Sequelize) |
| JWT 驗證 | JWT 驗證 |
| RESTful 路由與 CRUD 操作 | RESTful 路由與 CRUD 操作 |
| 錯誤處理中介軟體 | 錯誤處理中介軟體 |
| 環境設定 | 環境設定 |
最佳實踐
✅ 應該做的事
- 使用中介軟體處理橫切關注點
- 實作適當的錯誤處理
- 在處理前驗證輸入資料
- 使用 async/await 處理非同步操作
- 在受保護的路由上實作驗證
- 使用環境變數進行設定
- 加入日誌記錄與監控
- 在正式環境使用 HTTPS
- 實作速率限制
- 保持路由處理器專注且簡潔
❌ 不該做的事
- 默默處理錯誤
- 在程式碼中儲存敏感資料
- 在路由中使用同步操作
- 忘記驗證使用者輸入
- 在路由處理器中實作驗證
- 使用回呼地獄(應使用 promise/async-await)
- 在正式環境暴露堆疊追蹤
- 僅信任客戶端驗證






