Express.js:为 Web 应用程序提供中间件的基本知识

什么是 Express.js?

Express.js 是一个流行的 Node.js Web 应用程序框架,它提供了一个简单、快速和灵活的方式来构建 Web 应用程序。它是基于中间件的概念,这使得构建复杂的 Web 应用程序变得更加容易。

什么是中间件?

在 Express.js 中,中间件是一个函数,它可以访问请求对象(request object)、响应对象(response object)和应用程序的下一个中间件函数。中间件函数可以执行以下操作:

  • 执行任何代码。
  • 修改请求对象。
  • 修改响应对象。
  • 结束响应。
  • 调用下一个中间件函数。

中间件函数的形式如下:

其中,req 是请求对象,res 是响应对象,next 是一个函数,用于调用下一个中间件函数。如果当前中间件函数不调用 next,则请求将被挂起。

如何使用中间件?

为了使用中间件,我们需要使用 app.use() 方法。该方法将中间件函数添加到应用程序的中间件堆栈中。中间件函数将按照它们添加到堆栈中的顺序执行。

例如,下面的代码添加了一个中间件函数,用于记录所有请求的时间:

在这个例子中,我们使用 app.use() 方法添加了一个中间件函数。该函数记录了当前时间,并调用了 next() 函数,以便将请求传递给下一个中间件函数。

中间件的类型

在 Express.js 中,有三种类型的中间件:

应用程序级别的中间件

应用程序级别的中间件绑定到应用程序对象(app)上,并在所有路由中使用。例如,下面的代码添加了一个中间件函数,用于验证用户是否已经登录:

在这个例子中,我们使用 app.use() 方法添加了一个中间件函数,用于验证用户是否已经登录。该函数将在所有路由中使用。

路由级别的中间件

路由级别的中间件绑定到特定的路由上。例如,下面的代码添加了一个中间件函数,用于验证用户是否有权限访问 /admin 路由:

在这个例子中,我们使用 app.get() 方法添加了两个路由。第一个路由处理 / 路径的 GET 请求,第二个路由处理 /admin 路径的 GET 请求,并使用 authenticateUser 中间件函数进行身份验证。

错误处理中间件

错误处理中间件用于处理应用程序中的错误。例如,下面的代码添加了一个错误处理中间件函数,用于处理所有未处理的错误:

在这个例子中,我们使用 app.get() 方法添加了一个路由,该路由将抛出一个错误。我们还使用 app.use() 方法添加了一个错误处理中间件函数,用于处理所有未处理的错误。

总结

在本文中,我们介绍了 Express.js 中间件的基本知识。我们学习了中间件的概念、如何使用中间件以及中间件的类型。通过使用中间件,我们可以轻松地构建复杂的 Web 应用程序。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6506c6bc95b1f8cacd274765


纠错
反馈