Express 中間件 Express程式基本上是一系列中間件函數的調用。中間件就是一個函數, 接受 、`res next`幾個參數。 中間件函數可以執行任何代碼, 對請求和響應對象進行修改, 結束請求/響應迴圈, 通過 next函數調用堆棧中下一個中間件函數。 必須通過 將控制權交給下一個中間件函 ...
Express 中間件
Express程式基本上是一系列中間件函數的調用。中間件就是一個函數, 接受 req
、res
、next
幾個參數。
中間件函數可以執行任何代碼, 對請求和響應對象進行修改, 結束請求/響應迴圈, 通過 next函數調用堆棧中下一個中間件函數。
必須通過 next
將控制權交給下一個中間件函數, 否則, 請求將保持掛起狀態。
錯誤處理中間件始終採用四個變數, 第一個參數就是錯誤信息。
app.use((err, req, res, next) => {
next()
})
Express 中唯一內置的中間件函數是 express.static。此函數基於 serve-static,負責提供 Express 應用程式的靜態資源。
例子
app.use((req, res, next) => {
console.log(1)
next()
})
app.use((req, res, next) => {
console.log(2)
next()
})
app.get('/list', (req, res, next) => {
console.log('get /list')
next()
})
app.post('/login', (req, res, next) => {
console.log('post /login')
next()
})
app.post('/login/user', (req, res, next) => {
console.log('post /login/user')
next()
})
- 如果開啟一個服務, 埠號為3000。 那麼直接訪問
http://localhost:3000
會依次列印
1
2
- 訪問
http://localhost:3000/list
get方, 依次列印
1
2
get /list
- 訪問
http://localhost:3000/login/user
post請求, 依次列印
1
2
post /login/user