var express = require('express');var app = express();
app.use('/a',function(req,res,next){ console.log('111');
next();
});
app.all('/a',function(req,res,next){ console.log('222');
});我只知道'/a','/a/b' app.use()都可以打印111 ,但是 app.all()只能識別'/a'..請問他們之間還有什么區(qū)別沒?app.use('/',callback)和app.all('*',callback)有什么區(qū)別沒?搜索了下app.use()和app.all()的區(qū)別,網(wǎng)上的答案看的云里霧里。麻煩知道的解答下
1 回答

幕布斯6054654
TA貢獻1876條經(jīng)驗 獲得超7個贊
use通常是用作中間件的
all是路由中指代所有的請求方式,如all('/a'),能同時覆蓋:get('/a') 、 post('/a')、 put('/a') 等
當然還有前面的回答,匹配的問題。
use由于是做中間件,use('/a') 只用路徑以 /a
開始即可匹配,如 /a/b
、 /a/b/c
都會應有后面的處理函數(shù)。 use見到最多的情況應該是直接 use((...)=>{...})
,標識匹配路徑是 /
開頭,即所有的。
all則是具體的路由,直接使用字符串的方式,則匹配的是 /a
這 個路徑。 僅能匹配 /a
, 以下請求路徑都是無效的:/a/b
、/a/b/c
...
- 1 回答
- 0 關注
- 3409 瀏覽
添加回答
舉報
0/150
提交
取消