之前提到如何在Node.JS 使用Express, Express 路由(route)設定方法。
Express middleware 介紹
Express 裡面有一個十分好用的應用概念稱為middleware,可以透過 middleware 做出複雜的效果,同時上面也有介紹 next 方法參數傳遞,就是靠 middleware 的概念來傳遞參數,讓開發者可以明確的控制程式邏輯。
// .. create http server
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.session());
上面都是一種 middleware 的使用方式,透過 app.use 方式裡面載入函式執行方法,回應函式會包含三個基本參數,response, request, next,其中next 表示下一個 middleware 執行函式,同時會自動將預設三個參數繼續帶往下個函式執行。
Express middleware 範例
底下有個實驗,
上面的片段程式執行後,開啟瀏覽器,連結上 localhost:1337/,會發現伺服器回應結果順序如下,
first middle ware
second middle ware
execute middle ware
end middleware function
Express middleware 結論
從上面的結果可以得知,剛才設定的 middleware 都有執行。
在 app.use 設定的 middleware 是所有url 皆會執行方法,如果有指定特定方法,就可以使用 app.get 的 middleware 設定。在 app.get 函式的第二個參數,就可以帶入函式,或者是匿名函式,只要函式裡面最後會接受 request, response, next 這三個參數,同時也有正確指定 next 函式的執行時機,最後都會執行到最後一個方法,當然開發者也可以評估程式邏輯要執行到哪一個階段,讓邏輯可以更為分明。
工商服務
Node.JS Taiwan 社群目前著手共筆的中文教學資料,歡迎有興趣者共同關注,相關網址資訊,
留言
張貼留言