多条路线同时匹配 - Strange Express行为

时间:2017-02-10 17:11:18

标签: node.js express routing

我想知道以下表达行为是否有效:

在此示例中,发出GET请求" GET / count"将触发/执行路由/计数和/:邮件。

var express = require('express')
var app = express()

app.get('/count', function (req, res) {
  res.send('Hello World!1')
})

app.get('/:mail', function (req, res) {
  res.send('Hello World!2')
})

app.listen(3000, function () {
  console.log('Example app listening on port 3000!')
})

当触发/:邮件时,输出将为:"错误:发送邮件后无法设置邮件头。"

我的问题是:快递是否明显只能同时匹配一条路线?

1 个答案:

答案 0 :(得分:0)

我不认为这是发生了什么。相反,您尝试为一个路由执行两个函数,当第二个res.send被触发时,已经设置了标头。它不会自动不调用/:mail路由上的get,因为这也是它捕获的值的匹配。