javascript - "next(' 路线 ')"不 't work with ".use()"

标签 javascript node.js express middleware

我在这里做错了什么,还是express不支持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

最佳答案

根据node issue #2591中的讨论:由于 app.use() 定义了中间件,而不是“路由”,因此 next('route') 在与 app.use() 一起使用时毫无意义。

关于javascript - "next(' 路线 ')"不 't work with ".use()",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32419034/

相关文章:

javascript - 类型错误 : Cannot read property 'username' of undefined from Form Submit

node.js - 如何在 keycloak 中调用 create user api 后获取 userId?

javascript - 是否可以控制 polymer 表达式的触发?

Javascript - 展平对象的嵌套数组。弄得漂亮吗?

javascript - 滚动按钮 - 使用 jQuery

node.js - MongoDB Mongoose 模式设计

node.js - 从 Gitlab 私有(private)存储库导入 Node 模块时出错

javascript - Node JS 或 Express JS HTTP GET 请求

node.js - 如何配置 express router 和 ES6?

javascript - 创建交互式非矩形 HTML 元素的最佳方式