node.js - 在 Express/Node 应用程序中比较/实现 `app.use(cors(corsOptions));` 和 `app.options(' *', cors(corsOptions));`

标签 node.js express cors

我是在 Node/Express 应用程序中实现 CORS(为每个人启用它)的新手。我在 app.js 中找到了一段代码,如下所示:

const express = require('express');
const corsOptions = {
  origin: '*',
};
const app = express();
app.use(cors(corsOptions));
app.options('*', cors(corsOptions));
app.listen(config.PORT);

我发现最后两行代码是多余的。我不确定,因为由于运行 Node/Express 项目的知识/理解和资源有限,我现在无法测试 CORS。

如果我们提到 app.use(cors(corsOptions));
就足够了 app.options('*', cors(corsOptions));?
如果是,它们的实现有什么不同吗?
如果否,每行代码如何配置 Express 应用程序?

最佳答案

是的,options() 会执行完全相同的操作,但仅适用于请求路径 * 和 http OPTIONS 请求。

use() 不会关心请求的动词,但如果需要,可以将请求路径作为第一个参数。

关于node.js - 在 Express/Node 应用程序中比较/实现 `app.use(cors(corsOptions));` 和 `app.options(' *', cors(corsOptions));`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52942286/

相关文章:

javascript - 访问控制不接受 Angular $resource 调用 Safari 允许与 Chrome 接受

javascript - 多参数 URL CORS 错误

node.js - 在发布请求传输 Node/express js期间保护客户端/服务器之间的请求有效负载的最佳实践

node.js - 如何访问node.js中的静态文件

node.js - 基于查询的函数的 Mocha 测试用例

go - 如何设置CORS设置

node.js - 以管理员身份运行并添加了策略时不允许“fs-extra”符号链接(symbolic link),我自己运行 mklink 有效吗?

javascript - 在 Node.js 上检测纯色图像

css - IntelliJ 生成的 header 中 CSS 文件的路径不正确

javascript - 可靠地使用 Node watchFile - nfs、cifs、scp?