Я пытаюсь выучить nodejs, и я столкнулся с поведением следующей функции:
console.log('IN Middleware1 /');
//res.send('<h1>Hello Header in Express from default path</h1>')
next();
console.log('IN Middleware1 after next');
})
app.use('/product',(req,res,next)=>{
console.log('In Middleware2 product');
res.send('<h1>Hello Header in Express from Product</h1>')
//next();
})
app.use('/',(req,res,next)=>{
console.log('In Middleware3 /');
res.send('<h1>Hello Header in Express from default path</h1>')
//next();
})
Когда я нажимаю на URL (http://localhost: 3000 / ) , Вывод ниже: Почему я получаю триггер к своему middleware1 и 3 дважды, когда я нажимаю на URL один раз? IN Middleware1 / In Middleware3 / IN Middleware1 после следующего IN Middleware1 / In Middleware3 / IN Middleware1 после следующего
Мое следующее сомнение заключается в том, что когда я изменяю свой код ниже, почему я получаю возвращаемое значение Middleware3 для оба URL (http://localhost: 3000 / и http://localhost: 3000 / product ), когда я вызываю next () из Middleware3, почему не собирается и не выполняет middleware2? потому что путь соответствует (/ product также включает в себя /, поэтому только / код был выполнен?):
app.use('/',(req,res,next)=>{
console.log('In Middleware3 /');
res.send('<h1>Hello Header in Express from default path</h1>')
next();
})
app.use('/product',(req,res,next)=>{
console.log('In Middleware2 product');
res.send('<h1>Hello Header in Express from Product</h1>')
//next();
})