Express.js 入门指南:自定义中间件

阅读时长 4 分钟读完

作为一名前端工程师,你一定会接触到 Express.js - 目前最常用的 Node.js Web 框架之一。Express.js 的优点在于它提供了简单的 API 和灵活性,以帮助构建 Web 应用程序。

Express.js 通过中间件机制实现了更强大的功能。中间件是一个处理 HTTP 请求和响应周期的函数,可以在 Express 中注册和使用。在此指南中,我们将讨论如何自定义中间件,以便优化 Express 应用程序并增强其功能。

什么是中间件?

中间件是一个函数,这个函数可以访问并改变请求和响应的对象,以及应用程序的请求-响应循环,接下来将作为参数传递给该函数。中间件在请求到达目标处理器之前执行,因此可以起到“拦截”请求的作用。这些函数可以以任何顺序链接在一起,以构建不同的应用程序。Express.js 还自带了很多常用的中间件,常用示例如下:

自定义中间件

自定义中间件的函数签名如下:

此函数接收 reqres 参数,这些参数在请求-响应循环期间(即手动处理请求)保持不变。该函数还接受 next 参数,该参数用于调用下一个中间件或处理器。

例如,如果我们想要创建一个中间件来检查请求是否存在auth_token请求头,可以使用以下代码:

Express.js 应用程序中使用自定义中间件只需要使用 app.use() 方法即可,示例如下:

演示应用

让我们创建一个应用程序,该应用程序使用自定义中间件处理 JWT(JSON Web Tokens)。

首先,让我们使用 jsonwebtoken 库创建一个基本的 JWT:

在控制台中,我们应该看到生成的 JWT。接下来,让我们将这个 JWT 作为请求头发送到我们的 Express.js 应用程序。

-- -------------------- ---- -------
----- ------- - -------------------
----- --- - ----------

------------- ---- ----- -- -
  ----- ----- - -------------------------
  -- -------- -
    ------ ----------------------------- ---- ---------
  -
  --- -
    ----- ------- - ----------------- -----------
    -------- - --------
    -------
  - ----- ---- -
    ----------------------------- --------
  -
---

------------ ----- ---- -- -
  --------------- ------------------------
---

----- ---- - ---------------- -- -----
---------------- -- -- ---------------------- -- ---- --------------

现在,我们可以通过 http://localhost:3000 访问应用程序,该应用程序应该返回 "Hello rohit!"。

结论

中间件是 Express.js 开发过程中非常重要的一部分。自定义中间件可以让我们优化和增强应用程序功能。在使用 Express.js 时,确保熟练掌握自定义中间件的使用,并尝试在应用程序中使用它们。

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

纠错
反馈