中间件
中间件通常在调用 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 call
next`这一次,因为这个中间件是链中的最后一个(但是如果你这样做会发生什么不好),
完成程序到目前为止:
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)