在node中,中間件是一種功能的封裝方式,主要是指封裝所有http請求細節處理的方法;http的請求通常包含了許多的內容,因此可以利用中間件來簡化及隔離這些基礎設施與業務邏輯之間的細節。
本教學操作環境:windows10系統、nodejs 12.19.0版本、Dell G3電腦。
nodejs中間件從概念上講是一種功能的封裝方式,主要是指封裝所有Http請求細節處理的方法。
在nodeJS中,中間件主要是指封裝所有Http請求細節處理的方法,一次Http請求通常包含很多工作:如記錄日誌,IP過濾,查詢字串、請求體解析,cookie處理、權限驗證、參數驗證、異常處理等、但對web應用而言,並不希望接觸到這麼多細節性的處理,因此使用中間件來簡化及隔離這些基礎設施與業務邏輯之間的細節,讓開發者更關注在業務的開發上,他的工作模式如下:
中間件機制核心實作
中間件是從Http請求發起到回應結束過程中的處理方法,通常需要對請求和回應進行處理,因此一個基本的中間件的形式如下:
const middleware = (req, res, next) => { // TODO next() } 模拟最基本的中间件 // 定义简单的三个中间件 const httpMeth1 = (req, res, next) => { console.log('我是请求1') next() } const httpMeth2 = (req, res, next) => { console.log('我是请求2') next() } const httpMeth3 = (req, res, next) => { console.log('我是请求3') next() } // 中间件数组 const allHttpMeth = [httpMeth1, httpMeth2, httpMeth3] function run (req, res) { const next = () => { // 获取中间件 const allHttpMethitem = allHttpMeth.shift() if (allHttpMethitem) { // 执行 allHttpMethitem(req, res, next) } } next() } run() // 模拟请求发起
如果中間件中有非同步操作,需要在非同步操作的流程結束後再呼叫next()方法,否則中間件不能依序執行
推薦學習:《nodejs影片教學》
以上是node的中介軟體是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!