1棺滞、什么是中間件
中間件是一個可訪問的請求對象和響應(yīng)對象,在express應(yīng)用的請求響應(yīng)循環(huán)里,下一個內(nèi)聯(lián)的中間件通常用變量next表示刊苍。中間件的功能包括:
執(zhí)行任何代碼
修改請求和響應(yīng)對象
終結(jié)請求-響應(yīng)循環(huán)
調(diào)用堆棧中下一個中間件
注:如果中間件沒有響終結(jié)請求響應(yīng)循環(huán)赡译,則必須調(diào)用next()方法仲吏,將控制權(quán)交給下一個中間件。
2、應(yīng)用級中間件:
應(yīng)用級中間件綁定到 express 實例裹唆,使用 app.use() 和 app.VERB() 誓斥。
掛載一組中間件:
如果需要在中間件棧中跳過剩余中間件,調(diào)用 next(‘route’) 方法將控制權(quán)交給下一個路由许帐。需要注意的是 next(‘route’) 只對使用 app.VERB() 或 router.VERB() 加載的中間件有效劳坑。
3、路由級中間件:
路由級中間件綁定的對象為express.Router()舞吭,使用router.use()或router.VERB()加載
4泡垃、錯誤處理中間件
錯誤處理中間件有四個參數(shù),定義錯誤處理中間件羡鸥,必須使用這四個參數(shù)蔑穴。
5、內(nèi)置中間件
express.static(root, [options])
express.static 是 Express 唯一內(nèi)置的中間件惧浴,它基于 serve-static存和,負責在 Express 應(yīng)用中提供靜態(tài)資源。
參數(shù) root 指提供靜態(tài)資源的根目錄衷旅。
每個應(yīng)用可有多個靜態(tài)目錄捐腿。
6、第三方中間件
Express 是一款提供路由和中間件的 Web 框架柿顶,但其本身的功能卻異常精簡茄袖。Express 應(yīng)用的功能通過第三方中間件來添加。安裝所需功能的 node 模塊嘁锯,并在應(yīng)用中加載宪祥,可以在應(yīng)用級加載,也可以在路由級加載