对于所有端点:
/
/users
/some
只有第一个函数将被调用为原代码:
app.use('/', function (req, res, next) {
console.log('/');
});
app.use('/users', function (req, res, next) {
console.log('/users');
});
app.use(function (req, res, next) {
console.log('none');
});
这是因为你没有你se next()
。但是,如果你有:
app.use('/', function (req, res, next) {
console.log('/');
next();
});
app.use('/users', function (req, res, next) {
console.log('/users');
next();
});
app.use(function (req, res, next) {
console.log('none');
next();
});
然后:
- 对于
/
- 功能/
然后none
- 对于
/users
- 为/
,users
和none
- 对于
/some
功能 - 功能/
和none
和404处理程序
这是因为:
/
功能相匹配的所有路由
/users
匹配功能/users
但不/
或/some
- 没有路径默认情况下是指
/
所以它匹配一切
有关的app.use
路径匹配详见:
来源
2016-12-29 17:14:56
rsp
谢谢,对不起,我当然想用'下一个()'在我的例子,我会更新。你能否在你的答案中添加细节? –
@Maximus我更新了我的答案和更多细节。 – rsp
谢谢,_no路径意味着/默认情况下它匹配everything_ - 它是否适用于'app.use('''和'app.use(function(){}'? –