👨提问:注册路由时 app.get、app.use、app.all 的区别是什么?
app.use(path,callback)
app.use是express用来调用中间件的方法。中间件通常不处理请求和响应,一般只处理输入数据,并将其交给队列中的下一个处理程序,比如下面这个例子app.use (‘/user’),那么只要路径以 /user 开始即可匹配,如 /user/tree 就可以匹配。
app.all()
app.all 是路由中指代所有的请求方式,用作路由处理,匹配完整路径,在app.use之后可以理解为包含了app.get、app.post等的定义,比如app.all(‘/ user/tree’),能同时覆盖:get(‘/user/tree’) 、 post(‘/user/tree’)、 put(‘/user/tree’) ,不过相对于app.use()的前缀匹配,它则是匹配具体的路 由。
all完整匹配,use只匹配前缀