为了账号安全,请及时绑定邮箱和手机立即绑定

express 的app.use()和app.all()的区别

express 的app.use()和app.all()的区别

开满天机 2019-01-24 10:25:48
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'..请问他们之间还有什么区别没?app.use('/',callback)和app.all('*',callback)有什么区别没?搜索了下app.use()和app.all()的区别,网上的答案看的云里雾里。麻烦知道的解答下
查看完整描述

1 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

use通常是用作中间件的
all是路由中指代所有的请求方式,如all('/a'),能同时覆盖:get('/a') 、 post('/a')、 put('/a') 等

当然还有前面的回答,匹配的问题。
use由于是做中间件,use('/a') 只用路径以 /a 开始即可匹配,如 /a/b 、 /a/b/c 都会应有后面的处理函数。 use见到最多的情况应该是直接 use((...)=>{...}),标识匹配路径是 / 开头,即所有的。
all则是具体的路由,直接使用字符串的方式,则匹配的是 /a这 个路径。 仅能匹配 /a, 以下请求路径都是无效的:/a/b/a/b/c ...


查看完整回答
反对 回复 2019-01-24
  • 1 回答
  • 0 关注
  • 3267 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信