npm 包 connect-cors 使用教程

阅读时长 4 分钟读完

跨域资源共享(CORS)是常见的前端开发问题之一。connect-cors 是一个广泛使用的 Node.js 中间件,它提供了简单的解决方案来处理 CORS 问题。

安装和基本用法

首先,使用以下命令安装 connect-cors:

然后,在 Express 应用程序中使用以下代码启用 connect-cors:

现在,您的应用程序已经配置了 CORS 中间件,可以接受来自其他域的请求。

配置选项

connect-cors 提供了一些可配置选项,可以通过传递一个选项对象进行设置。以下是一些常用的选项:

  • origin: 允许的源。可以是字符串、正则表达式或函数。
  • methods: 允许的 HTTP 方法。默认为 'GET,POST,PUT,PATCH,DELETE,HEAD,OPTIONS'。
  • allowedHeaders: 允许的请求头列表。默认为 'Content-Type,Authorization,X-Requested-With'。
  • exposedHeaders: 公开的响应头列表。默认为空。
  • credentials: 是否允许发送凭证(例如 cookies)。默认为 false。
  • maxAge: 预检请求的最大时间(以秒为单位)。默认为 5 秒。

以下是一个基本的示例,展示如何自定义选项:

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

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

高级用法

connect-cors 还提供了更高级的用法,例如自定义响应头、预检请求等。以下是一些示例:

自定义响应头

您可以使用 exposedHeaders 选项来公开一个或多个响应头:

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

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

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

预检请求

当浏览器请求具有特殊 HTTP 方法或自定义请求头的资源时,它将发送预检请求(OPTIONS 请求)。connect-cors 提供了 optionsSuccessStatus 选项,用于设置预检请求成功的状态码。

以下示例设置了 optionsSuccessStatus 为 204:

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

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

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

结论

使用 connect-cors 可以轻松地解决 CORS 问题,让前端开发更加愉快和高效。在使用过程中,可以根据需要进行配置和定制。

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

纠错
反馈