为什么我在/foo
上执行GET请求,我的请求通过示例A中的第一个中间件函数,但在示例B中绕过它?
示例A
GET' / foo"
app.use('/', function(req, res, next) {
console.log("req passes through here");
next();
}
app.get('/foo', function(req, res, next) {
console.log("then req passes through here");
}
例B
GET' / foo"
app.get('/', function(req, res, next) {
console.log("this part is bypassed...");
next();
}
app.get('/foo', function(req, res, next) {
console.log("then req passes through here");
}
那么如何在/
中挂载的中间件未在示例B中执行?
答案 0 :(得分:2)
app.use()
指示应用程序在所有调用中对所有方法(GET,PUT,POST等)使用指定的路径。具体来说是app.use
:
在指定的路径上安装指定的中间件函数:当请求的路径的基础与路径匹配时,执行中间件函数。
虽然app.get()
指示它仅为该特定路径使用该特定方法(GET)的路径。
使用指定的回调函数将HTTP GET请求路由到指定的路径。