Express4中文文档
这是一个名为 "myLogger" 的中间件函数的简单示例。此函数仅在对应用程序的请求通过它时打印 "LOGGED"。中间件函数被分配给一个名为 myLogger
的变量。
const myLogger = function (req, res, next) {
console.log('LOGGED')
next()
}
注意上面对
next()
的调用。调用此函数会调用应用程序中的下一个中间件函数。next()
函数不是 Node.js 或 Express API 的一部分,而是传递给中间件函数的第三个参数。next()
函数可以命名为任何名称,但按照惯例,它始终命名为 "next"。为避免混淆,请始终使用此约定。
要加载中间件函数,调用 app.use()
,指定中间件函数。例如,以下代码在路由到根路径 (/) 之前加载 myLogger
中间件函数。
const express = require('express')
const app = express()
const myLogger = function (req, res, next) {
console.log('LOGGED')
next()
}
app.use(myLogger)
app.get('/', (req, res) => {
res.send('Hello World!')
})
app.listen(3000)
应用程序每次收到请求时,都会将消息 "LOGGED" 打印到终端。
中间件加载的顺序很重要:首先加载的中间件函数也会先执行。
如果 myLogger
在路由到根路径之后加载,则请求永远不会到达它并且应用程序不会打印 "LOGGED",因为根路径的路由处理程序终止了请求-响应循环。
中间件函数 myLogger
简单地打印一条消息,然后通过调用 next()
函数将请求传递给堆栈中的下一个中间件函数。