9
如何使Express.js與路徑「/1.1.1」和「/ login」區分開來?使用路徑參數定義多個Express.js路由
我使用下面的代碼:
app.get('/:x?.:y?.:z?', function(req, res){
...
app.get('/login', function(req, res){
如何使Express.js與路徑「/1.1.1」和「/ login」區分開來?使用路徑參數定義多個Express.js路由
我使用下面的代碼:
app.get('/:x?.:y?.:z?', function(req, res){
...
app.get('/login', function(req, res){
路由在它們被添加的順序執行。因此,如果您希望優先登錄路線,請先定義它。
否則,當你想根據路線決定的情況下,您可以從處理程序內調用next()函數是這樣的:
app.get('/:x?.:y?.:z?', function(req, res, next){ // <== note the 'next' argument
if (!req.params.x && !req.params.y && !req.params.z) {
next(); // pass control to the next route handler
}
...
}
從Express guide:「同樣是真正的有幾條路徑定義了相同的路徑,它們將被簡單地按順序執行直到一個不會調用next()並決定響應。「