Express中介軟體

2022-02-09 18:58:48 字數 2056 閱讀 5678

中介軟體函式能夠訪問請求物件(req),響應物件(res),應用程式的請求/響應迴圈中的下乙個中介軟體函式。下乙個中介軟體函式通常由名為next的變數來表示。

中介軟體函式可以執行以下任務:

var mylogger = function(req,res,next)
var express = require('express')

var mylogger = function(req,res,next)

res.send('hello world!');

});

中介軟體裝入的順序很重要,首先裝入的中介軟體函式也首先被執行

express是乙個路由和中介軟體web框架。其自身只具有最低程度的功能。express應用程式基本上是一系列中介軟體函式呼叫。

1.1應用層中介軟體

//應用程式每次收到請求時執行該函式

console.log('time:', date.now());

next();

});//此示例顯示安裝在 /user/:id 路徑中的中介軟體函式。在 /user/:id 路徑中為任何型別的 http 請求執行此函式

console.log('request type:', req.method);

next();

});//此示例顯示乙個路由及其處理程式函式(中介軟體系統)。此函式處理針對 /user/:id 路徑的 get 請求

res.send('user');

});//在安裝點使用安裝路徑裝入一系列中介軟體函式的示例。 它演示乙個中介軟體子堆疊,用於顯示針對 /user/:id 路徑的任何型別 http 請求的資訊

console.log('request url:', req.originalurl);

next();

}, function (req, res, next) );

1.2路由器層中介軟體

路由器中介軟體的工作方式與應用層中介軟體類似,差異之處在於它繫結到express.router()的例項上。

var router = express.router()
使用 router.use() 和 router.method() 函式裝入路由器層中介軟體

var router = express.router();

router.use(function (req, res, next) );

router.use('/user/:id', function(req, res, next) , function (req, res, next) );

router.get('/user/:id', function (req, res, next) , function (req, res, next) );

router.get('/user/:id', function (req, res, next) );

1.3錯誤處理中介軟體

錯誤處理中介軟體始終採用4個自變數。必須提供4個自變數,以將函式標識為錯誤處理中介軟體。即使無需使用 next 物件,也必須指定該物件以保持特徵符的有效性。否則,next 物件將被解釋為常規中介軟體,從而無法處理錯誤

console.error(err.stack);

res.status(500).send('something broke!');

});1.4內建中介軟體

自 v4.x 起,express 不再依賴於 connect。除 express.static 外,先前 express 隨附的所有中介軟體函式現在以單獨模組的形式提供。

1.5第三方中介軟體

使用第三方中介軟體向express應用程式新增功能。安裝具有所需功能的 node.js 模組,然後在應用層或路由器層的應用程式中將其加裝入。

//安裝cookie-parser

npm i cookie-parser

var express = require('express')

var cookieparser = require('cookie-parser');

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...