柚子快報(bào)激活碼778899分享:【Node.js】中間件
柚子快報(bào)激活碼778899分享:【Node.js】中間件
目錄
什么是中間件?
定義中間件函數(shù)
最簡(jiǎn)單的中間件函數(shù)?
全局生效的中間件
定義多個(gè)全局中間件
局部生效的中間件
中間件的分類
應(yīng)用級(jí)別的中間件
路由級(jí)別的中間件
錯(cuò)誤級(jí)別的中間件
Express內(nèi)置的中間件
第三方的中間件
什么是中間件?
中間件(Middleware) ,特指業(yè)務(wù)流程的中間處理環(huán)節(jié)
Express中間件的調(diào)用流程:
當(dāng)一個(gè)請(qǐng)求處理時(shí),可以連續(xù)調(diào)用多個(gè)中間件,從而對(duì)這次請(qǐng)求進(jìn)行預(yù)處理
Express中間件的格式:
本質(zhì)上就是一個(gè)function處理函數(shù),下圖為官網(wǎng)的介紹
中間件函數(shù)的形參列表中,必須包含next參數(shù),而路由處理函數(shù)中只包含req和res
定義中間件函數(shù)
最簡(jiǎn)單的中間件函數(shù)?
//常量mw所指向的,就是一個(gè)中間件函數(shù)
const mw = function(req,res,next){
console.log('這是一個(gè)簡(jiǎn)單的中間件函數(shù)')
//注意:在當(dāng)前中間件的業(yè)務(wù)處理完畢后,必須調(diào)用next()函數(shù)
//表示把流轉(zhuǎn)關(guān)系轉(zhuǎn)交給下一個(gè)中間件或路由
next()
}
全局生效的中間件
客戶端發(fā)起的任何請(qǐng)求,到達(dá)服務(wù)器之后,都會(huì)觸發(fā)的中間件,叫做全局生效的中間件
調(diào)用app.use(中間件函數(shù)),即可定義一個(gè)全局生效的中間件,實(shí)例代碼
//常量mw所指向的,就是一個(gè)中間件函數(shù)
const mw = function(req,res,next){
console.log('這是一個(gè)簡(jiǎn)單的中間件函數(shù)')
next()
}
//全局生效的中間件
app.use(mw)
中間件的作用
多個(gè)中間件之間,共享同一份req和res,基于這樣的特性,我們可以在上游的中間件,統(tǒng)一為req和res對(duì)象添加自定義的
柚子快報(bào)激活碼778899分享:【Node.js】中間件
推薦閱讀
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。