今天沒有新增任何功能,目標是整理程式碼:把待辦事項的路由搬到獨立檔案,並加上統一的錯誤處理。
今天做的事
新增 routes/todos.js,用 express.Router() 把所有待辦事項相關的路由搬過去,server.js 只留下 Middleware 設定和一行:
app.use('/api/todos', todosRouter);
另外加了兩個收尾的 Middleware:/api 底下找不到路徑時回傳 JSON 格式的 404,以及一個有四個參數的錯誤處理 Middleware:
app.use((err, req, res, next) => {
console.error(err.message);
const status = err.status || 500;
res.status(status).json({
message: status === 400 ? '請求格式錯誤' : '伺服器發生未預期的錯誤'
});
});
觀察
心得
重構的成就感很安靜,因為畫面看起來完全沒變。但打開server.js從一百多行變成不到四十行,要找哪支API也知道去routes/todos.js,之後要加功能會輕鬆很多。這也是第一次體會到程式碼不只是能跑,還要讓未來的自己看得懂。