這篇文章主要介紹“node的中間件怎么實現(xiàn)”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“node的中間件怎么實現(xiàn)”文章能幫助大家解決問題。
創(chuàng)新互聯(lián)成都網(wǎng)站建設(shè)按需定制,是成都網(wǎng)站營銷公司,為成都混凝土攪拌站提供網(wǎng)站建設(shè)服務(wù),有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設(shè)計服務(wù):原型圖制作、網(wǎng)站創(chuàng)意設(shè)計、前端HTML5制作、后臺程序開發(fā)等。成都網(wǎng)站建設(shè)熱線:13518219792
在node中,中間件是一種功能的封裝方式,主要是指封裝所有http請求細(xì)節(jié)處理的方法;http的請求通常包含了許多的內(nèi)容,因此可以利用中間件來簡化及隔離這些基礎(chǔ)設(shè)施與業(yè)務(wù)邏輯之間的細(xì)節(jié)。
本教程操作環(huán)境:windows10系統(tǒng)、nodejs 12.19.0版本、Dell G3電腦。
nodejs中間件從概念上講是一種功能的封裝方式,主要是指封裝所有Http請求細(xì)節(jié)處理的方法。
在nodeJS中,中間件主要是指封裝所有Http請求細(xì)節(jié)處理的方法,一次Http請求通常包含很多工作:如記錄日志,IP過濾,查詢字符串、請求體解析,cookie處理、權(quán)限驗證、參數(shù)驗證、異常處理等、但對web應(yīng)用而言,并不希望接觸到這么多細(xì)節(jié)性的處理,因此使用中間件來簡化及隔離這些基礎(chǔ)設(shè)施與業(yè)務(wù)邏輯之間的細(xì)節(jié),讓開發(fā)者更關(guān)注在業(yè)務(wù)的開發(fā)上,他的工作模式如下:
中間件機制核心實現(xiàn)
中間件是從Http請求發(fā)起到響應(yīng)結(jié)束過程中的處理方法,通常需要對請求和響應(yīng)進(jìn)行處理,因此一個基本的中間件的形式如下:
const middleware = (req, res, next) => { // TODO next() } 模擬最基本的中間件 // 定義簡單的三個中間件 const httpMeth2 = (req, res, next) => { console.log('我是請求1') next() } const httpMeth3 = (req, res, next) => { console.log('我是請求2') next() } const httpMeth4 = (req, res, next) => { console.log('我是請求3') next() } // 中間件數(shù)組 const allHttpMeth = [httpMeth2, httpMeth3, httpMeth4] function run (req, res) { const next = () => { // 獲取中間件 const allHttpMethitem = allHttpMeth.shift() if (allHttpMethitem) { // 執(zhí)行 allHttpMethitem(req, res, next) } } next() } run() // 模擬請求發(fā)起
如果中間件中有異步操作,需要在異步操作的流程結(jié)束后再調(diào)用next()方法,否則中間件不能按順序執(zhí)行
關(guān)于“node的中間件怎么實現(xiàn)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。
網(wǎng)站標(biāo)題:node的中間件怎么實現(xiàn)
分享URL:http://www.rwnh.cn/article4/psgiie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、ChatGPT、、網(wǎng)站營銷、移動網(wǎng)站建設(shè)、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)