我在这里做错了什么,或者表示不支持next('route')
.use()
?
var express = require('express')
var app = express()
app.use([
function (req, res, next) {
return next('route')
},
function (req, res, next) {
return res.send('sigma')
},
])
app.use(function (req, res, next) {
return res.send('alpha')
})
module.exports = app
这为字符串sigma
提供服务,并且应该服务于字符串alpha
。
更新:刚试过这个并且它也没有用。
var express = require('express')
var app = express()
app.use('/', [
function (req, res, next) {
return next('route')
},
function (req, res, next) {
return res.send('sigma')
},
])
app.use('/', function (req, res, next) {
return res.send('alpha')
})
module.exports = app
更新,这也是:
var express = require('express')
var app = express()
app.use(function (req, res, next) {
return next('route')
},
function (req, res, next) {
return res.send('sigma')
})
app.use(function (req, res, next) {
return res.send('alpha')
})
module.exports = app
答案 0 :(得分:0)
我在.all和.use之间唯一的区别是.use默认路径为var express = require('express')
var app = express()
app.all('/', [
function (req, res, next) {
return next('route')
},
function (req, res, next) {
return res.send('sigma')
},
])
app.all('/', function (req, res, next) {
return res.send('alpha')
})
module.exports = app
。
这样可行:
,d
答案 1 :(得分:0)
根据node issue #2591中的讨论:由于app.use()
定义了中间件,而不是"路由",next('route')
与app.use()
一起使用时毫无意义