理解Express 中间件
程序员文章站
2022-09-13 23:42:19
Express 中间件 Express程序基本上是一系列中间件函数的调用。中间件就是一个函数, 接受 、`res next`几个参数。 中间件函数可以执行任何代码, 对请求和响应对象进行修改, 结束请求/响应循环, 通过 next函数调用堆栈中下一个中间件函数。 必须通过 将控制权交给下一个中间件函 ......
express 中间件
express程序基本上是一系列中间件函数的调用。中间件就是一个函数, 接受 req
、res
、next
几个参数。
中间件函数可以执行任何代码, 对请求和响应对象进行修改, 结束请求/响应循环, 通过 next函数调用堆栈中下一个中间件函数。
必须通过 next
将控制权交给下一个中间件函数, 否则, 请求将保持挂起状态。
错误处理中间件始终采用四个变量, 第一个参数就是错误信息。
app.use((err, req, res, next) => { next() })
express 中唯一内置的中间件函数是 express.static。此函数基于 serve-static,负责提供 express 应用程序的静态资源。
例子
app.use((req, res, next) => { console.log(1) next() }) app.use((req, res, next) => { console.log(2) next() }) app.get('/list', (req, res, next) => { console.log('get /list') next() }) app.post('/login', (req, res, next) => { console.log('post /login') next() }) app.post('/login/user', (req, res, next) => { console.log('post /login/user') next() })
- 如果开启一个服务, 端口号为3000。 那么直接访问
http://localhost:3000
会依次打印
1 2
- 访问
http://localhost:3000/list
get方, 依次打印
1 2 get /list
- 访问
http://localhost:3000/login/user
post请求, 依次打印
1 2 post /login/user