1. 程式人生 > >express中介軟體的理解

express中介軟體的理解

參考 :https://blog.csdn.net/huang100qi/article/details/80220012

Express中介軟體分為三種內建中介軟體、自定義中介軟體、第三方中介軟體

可以與node的三種模組比較記憶:核心模組(直接書寫依賴的名稱)、自定義模組(需要通過module.exports 匯出  require進行匯入 匯入的時候必須寫路徑)、第三方模組(需要通過cnpm install 下載  然後在通過require進行引入)。

  1. Express內建中介軟體

express.static 是Express目前唯一內建的一箇中間件。用來處理靜態資原始檔.

         2.Express自定義中介軟體

中介軟體使用時的第二個引數是一個Function(req,res,next)

Req: 當每個請求到達伺服器時,nodejs會為請求建立一個請求物件(request),該請求物件包含客戶端提交上來的資料。

Res: 同時也會建立一個響應物件(response),響應物件主要負責將伺服器的資料響應到客戶端.。

Next: 最後一個引數next是一個方法,因為一個應用中可以使用多箇中間件,而要想執行下一個中介軟體,那麼上一個中介軟體必須執行next()。

         3.Express第三方中介軟體

常用的第三方中介軟體:

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

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

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

query  這個中介軟體將一個查詢字串從URL轉換為Json物件,並將其儲存為Request物件的query屬性。

總結:中介軟體是一個處理資料處理函式。瀏覽器向伺服器傳送一個請求後,伺服器直接通過request定位屬性的方式得到通過request攜帶過去的資料(有使用者輸入的資料和瀏覽器本身的資料資訊)。中介軟體將這些資料分類做了處理,最後讓request物件呼叫使用。

  1. 封裝了一些處理一個完整事件的功能函式。
  2. 非內建的中介軟體需要通過安裝後,require到檔案就可以執行。