理解Express 中间件

Express 中间件

Express程序基本上是一系列中间件函数的调用。中间件就是一个函数, 接受 reqresnext几个参数。

中间件函数可以执行任何代码, 对请求和响应对象进行修改, 结束请求/响应循环, 通过 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

转载于:https://www.cnblogs.com/qiqingfu/p/10839948.html

你可能感兴趣的:(理解Express 中间件)