中间件

中间件通常在调用 listen 之前附加到 app 对象。简单日志记录中间件的示例:

app.use(function (req, res, next) {
    console.log(`${req.method}: ${req.url}`)
    next()
})

所有这一切都将是 log GET: /example,如果你去哪里获取 localhost:3000/example。由于你没有回复任何数据,所有请求仍将返回 404。

链中的下一个中间件将在前一个调用 next() 后立即运行,因此我们可以通过添加另一个中间件来继续响应请求:

app.use(function (req, res, next) {
    res.end(`You requested ${req.url}`)
})

现在当你请求’localhost:3000 / exampleyou will be greeted with "You requested /example". There is no need to callnext`这一次,因为这个中间件是链中的最后一个(但是如果你这样做会发生什么不好),

完成程序到目前为止:

const connect = require('connect')

const app = connect()

app.use(function (req, res, next) {
    console.log(`${req.method}: ${req.url}`)
    next()
})

app.use(function (req, res, next) {
    res.end(`You requested ${req.url}`)
    next()
})

app.listen(3000)