中間件是在每次請求之前和之後執行的一段代碼。這有助於您創建共享功能,如日誌記錄和授權,而無需爲每個端點實施代碼。
中間件的順序通常稱爲中間件鏈。
app.use(middleware)
這是我們將中間件附加到每個請求的方式。當涉及到數據庫連接時,我們傾向於將它從請求端點中刪除,因爲它是應用程序全局的。
現在,我們接下來的原因是當函數完成時告訴鏈。這是一個回調模式。我們還希望能夠在鏈中拾取錯誤(異常),以便我們可以爲我們的應用程序添加共享功能。 JavaScript不是類型定義的,所以我們註冊兩個函數之間差異的唯一方法是註冊參數的數量。這就是錯誤處理有4個參數的原因。
這裏是記錄和錯誤處理
app.use(function(req, res, next) {
console.log('request made to server');
next();
});
app.use(function(error, req, res, next) {
console.log('an error occurred in the code');
next();
});
app.get('/', function(req, res) {
/* Your logic here */
});
如果您希望使用只有幾個端點特定中間件端點的一個例子,你可以註冊他們直接
app.get('/', middleware, function(res, res) {
/* Your logic here */
});
我希望這有助於理解中間件。中間件是處理堆棧的一部分,而不是協議調用。
不,中間件位於瀏覽器和http服務器之間 – Sebas