中介軟體就是一堆方法,主要由中介軟體方法以及請求處理函式組成。可以接收客戶端發來的請求、可以對請求做出響應,也可以將請求繼續交給下乙個中介軟體繼續處理。
路由器級中介軟體我們在路由篇中了解過的,就是路由的使用過程,可以直接通過例項使用,也可以通過express.router()
使用。可以針對同一路由設定多個中介軟體,對同乙個路由進行多次處理。預設情況下,請求從上到下依次匹配中介軟體。呼叫next
方法將請求的控制權交給下乙個中介軟體,直到遇到結束請求的中介軟體。
get(
'/request'
,(req, res, next)
=>);
get(
'/request'
,(req, res)
=>);
萬能匹配(不關心任何請求路徑和請求方法)
use(function
(req, res, next));
// 三個引數:req 請求物件
// res 響應物件
// next() 下乙個被匹配的中介軟體
只要以 『/***/』 開頭的:
use('/a'
,function
(req, res, next));
// 三個引數:req 請求物件
// res 響應物件
// next() 下乙個被匹配的中介軟體
錯誤處理中介軟體始終帶有四個引數,必須提供四個引數以將其標識為錯誤處理中介軟體函式。即使不需要使用該next物件,也必須指定它。
// 錯誤處理的中介軟體要寫在最後面
// 在前面的中介軟體的 err 處理:next(err) 這樣就會直接進入錯誤處理的中介軟體
// 配置錯誤處理中介軟體的好處是,不用每個中介軟體都去處理錯誤了,把錯誤處理放在乙個中介軟體中
use(
function
(err, req, res, next)
)// 引數: err 錯誤物件
// req 請求物件
// res 響應物件
// next 下乙個匹配的中介軟體
除了路由器級中介軟體等自定義中介軟體,express 框架中還提供了三個內建的中介軟體分別是:
express.static
:提供靜態資源,例如html檔案,影象等
express.json
:使用json負載解析傳入的請求。
express.urlencoded
:使用url編碼的有效內容解析傳入的請求。
乙個模板引擎使能讓我們使用靜態模板檔案。在執行時,模板引擎用實際值替換模板檔案中的變數,並將模板轉換為傳送給客戶端的html檔案。這種方法使設計html頁面更加容易。 與express一起使用的一些流行模板引擎有pug, mustache和ejs等。
set(
'views'
, path.
join
(__dirname,
'views'))
;set
('view engine'
,'jade');
這兩行**就是設定模板檔案所在的目錄和使用的模板引擎。
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...