對於所有端點:
/
/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(){}'? –