express中介軟體

2022-04-03 08:01:07 字數 1381 閱讀 1258

「express是乙個自身功能極簡,完全是路由和中介軟體構成乙個web開發框架:從本質上來說,乙個express應用就是在呼叫各種中介軟體。」

由此可見,中介軟體在express開發中的重要性,因此這裡我們就專門來總結一下中介軟體。

一、中介軟體結構

path:是路由的url,預設引數『/',意義是路由到這個路徑時使用這個中介軟體

function:中介軟體函式

這個中介軟體函式可以理解為就是function(request,response,next)

這裡安裝是指涉及到第三方中介軟體的使用時,需要先安裝好,然後在使用。

二、中介軟體分類

1、內建中介軟體

express.static 是express目前唯一內建的乙個中介軟體。用來處理靜態資源檔案。

2、自定義中介軟體

在上面中介軟體結構中,我們知道了,中介軟體使用時的第二個引數是乙個function,然而,要自定義乙個中介軟體,就是倒騰一番這個function。

這個function總共有三個引數(req,res,next);

當每個請求到達伺服器時,nodejs會為請求建立乙個請求物件(request),該請求物件包含客戶端提交上來的資料。同時也會建立乙個響應物件(response),響應物件主要負責將伺服器的資料響應到客戶端。而最後乙個引數next是乙個方法,因為乙個應用中可以使用多個中介軟體,而要想執行下乙個中介軟體,那麼上乙個中介軟體必須執行next()。

3、第三方中介軟體

有關第三方中介軟體,這裡我們分析幾個比較重要和常用的,知道這幾個的使用,其它的也就會了。

body-parser :解析body中的資料,並將其儲存為request物件的body屬性。

cookie-parser :解析客戶端cookie中的資料,並將其儲存為request物件的cookie屬性

express-session :解析服務端生成的sessionid對應的session資料,並將其儲存為request物件的session屬性

query:這個中介軟體將乙個查詢字串從url轉換為js物件,並將其儲存為request物件的query屬性。這個中介軟體在第四個版本中已經內建了無需安裝。

三、中介軟體理解

寫到最後了,回到最開始的問題,你是否理解了什麼是express中介軟體?

瀏覽器向伺服器傳送乙個請求後,伺服器直接通過request.定位屬性的方式得到通過request攜帶過去的資料(有使用者輸入的資料和瀏覽器本身的資料資訊)。這中間就一定有乙個函式將這些資料分類做了處理,已經處理好了,最後讓request物件呼叫使用,對的,這個處理資料處理函式就是我們要說的 中介軟體 。由此可見,中介軟體可以總結以下幾點:

1、封裝了一些處理乙個完整事件的功能函式。

2、非內建的中介軟體需要通過安裝後,require到檔案就可以執行。

3、封裝了一些或許複雜但肯定是通用的功能。

express中介軟體

中介軟體的本質就是乙個請求處理方法 函式 該方法接收三個引數 request請求物件 response響應物件 next下乙個中介軟體 把使用者從請求到響應的整個過程分發到多個中介軟體去處理。同乙個請求所經過的中介軟體的請求物件和響應物件都是同乙個請求物件和相應物件 不關心請求路徑和請求方法的中介軟...

Express中介軟體

express是乙個路由和中介軟體web框架,其自身的功能很少 express應用程式本質上是一系列中介軟體函式呼叫。中介軟體功能是可以訪問請求物件 req 響應物件 res 和應用程式的請求 響應週期中的下乙個中介軟體功能的功能。下乙個中介軟體功能通常由名為的變數表示next。中介軟體功能可以執行...

express中介軟體

中介軟體的知識點 同乙個請求物件所經過的中介軟體都是同乙個請求物件和響應物件 如果沒有可以匹配的中介軟體,將會輸出 cannot get 路徑 console.log 111 res.end hello next console.log 222 res.end world next 控制台會輸出11...