Node.js 中 Express 框架中间件使用分析

什么是 Express 中间件?

在 Express 框架中,中间件是指在请求到达路由处理程序之前,对请求进行处理的函数。中间件可以用于处理请求、响应、路由和错误等方面。中间件可以是一个函数,也可以是一组函数。中间件函数可以访问请求对象(req)、响应对象(res)和应用程序的下一个中间件函数(next)。

Express 中间件的使用方式为:

其中,path 为可选参数,表示中间件的挂载路径。如果不提供 path 参数,则默认挂载到根路径。middleware 参数为中间件函数。

Express 中间件的分类

Express 中间件可以分为以下两种类型:

应用级中间件

应用级中间件是绑定到应用程序对象(app)上的中间件,可以使用 app.use()app.METHOD() 函数进行绑定。应用级中间件会在每个请求到达服务器时执行。应用级中间件可以用于处理路由、错误处理、请求过滤等方面。

以下是一个简单的应用级中间件的示例:

路由级中间件

路由级中间件是绑定到路由上的中间件,可以使用 router.use()router.METHOD() 函数进行绑定。路由级中间件会在路由处理程序之前执行。路由级中间件可以用于处理路由参数、请求过滤等方面。

以下是一个简单的路由级中间件的示例:

Express 中间件的执行顺序

在 Express 中,中间件的执行顺序是按照挂载顺序依次执行的。如果当前中间件没有调用 next() 函数,则后续中间件将不会被执行。

以下是一个中间件执行顺序的示例:

执行结果为:

Express 中间件的常用功能

处理静态文件

Express 中间件可以用于处理静态文件,例如 CSS、JavaScript、图片等。可以使用 express.static() 函数来创建一个处理静态文件的中间件。

以下是一个处理静态文件的中间件的示例:

该中间件将会处理 public 目录下的所有静态文件。

处理请求体

Express 中间件可以用于处理请求体,例如 JSON、urlencoded 等格式的请求体。可以使用 body-parser 模块来创建一个处理请求体的中间件。

以下是一个处理 JSON 请求体的中间件的示例:

该中间件将会处理所有 JSON 格式的请求体。

处理错误

Express 中间件可以用于处理错误,例如找不到路由、请求超时等错误。可以使用 next(err) 函数来传递错误到错误处理中间件。

以下是一个处理错误的中间件的示例:

该中间件将会处理所有的错误,并返回一个 HTTP 500 错误响应。

总结

Express 中间件是一个非常强大的功能,可以用于处理请求、响应、路由和错误等方面。掌握中间件的使用方法,可以大大提高开发效率和代码质量。在使用中间件时,需要注意中间件的执行顺序和错误处理等方面的问题,以确保应用程序的稳定性和可靠性。

参考资料

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65557ac8d2f5e1655dfaac20


纠错
反馈