Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript &引用;下一步(“路线”);不';“我不能和”一起工作;。使用();_Javascript_Node.js_Express_Middleware - Fatal编程技术网

Javascript &引用;下一步(“路线”);不';“我不能和”一起工作;。使用();

Javascript &引用;下一步(“路线”);不';“我不能和”一起工作;。使用();,javascript,node.js,express,middleware,Javascript,Node.js,Express,Middleware,我在这里是做错了什么,还是express不支持next('route')和.use() 这服务于字符串sigma,应该服务于字符串alpha 更新:刚刚尝试了这个,但没有效果 var express = require('express') var app = express() app.use('/', [ function (req, res, next) { return next('route') }, function (req, res, next) {

我在这里是做错了什么,还是express不支持
next('route')
.use()

这服务于字符串
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

我能区分的唯一区别是.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

我能区分的唯一区别是.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

根据中的讨论:因为
app.use()
定义中间件,而不是“路由”,所以
next('route')
app.use()一起使用时毫无意义。根据中的讨论:因为
app.use()
定义中间件,而不是“路由”,而不是
next('route')
app.use()一起使用时没有意义