请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于中间件app.get('/api')不执行的问题

app.use('/api',(req,res,next)=>{
    console.log('处理api路由')
    next()
})


app.get('/api',(req,res,next)=>{
    console.log('get /api路由')
    next()
})

老师你在课程中提到,当我们访问http://localhost:3000/api/abc发出GET请求,app.use(’/api’)会执行,而app.get(’/api’)也会执行,但是实际上app.get(’/api’)不执行,只有在访问http://localhost:3000/api才会执行,请问这里是什么原因呢

正在回答

2回答

之前有同学提过这个问题,有可能是我某个地方忽略了导致了这个 bug ,我回头查一下。

这里你先不用纠结太多,本来到了源码层面就是了解一下原理,你继续往下看就行。

0 回复 有任何疑惑可以回复我~
  • 提问者 frankin329 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-05-03 13:01:00
  • 老师 后来是因为什么原因导致的这个bug呀?我查了好多资料都没解释清楚啊...
    回复 有任何疑惑可以回复我~ 2019-08-17 23:35:04
  • 应该是 use 和 get 两个 API 注册中间件时,没有考虑混合和顺序的问题。如果你不是要自己写一个类似 express koa 之类的轮子,就不用过渡关心这个问题,了解一下中间件的实现原理就行了。继续往下学习最重要。
    回复 有任何疑惑可以回复我~ 2019-08-18 11:25:46
THEEND0123 2020-11-12 11:40:47

小白想问一下有没有大神有答案啊?

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信