Javascript cors中间件与发送头相同吗?

Javascript cors中间件与发送头相同吗?,javascript,node.js,cors,Javascript,Node.js,Cors,对于节点项目,我使用cors。有两个选项可用,一个是,另一个是发送标题,如: app.use(function(req, res, next) { res.header("Access-Control-Allow-Origin", CLIENT_ORIGIN); res.header( "Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept" ); res.he

对于节点项目,我使用cors。有两个选项可用,一个是,另一个是发送标题,如:

app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", CLIENT_ORIGIN);
  res.header(
    "Access-Control-Allow-Headers",
    "Origin, X-Requested-With, Content-Type, Accept"
  );
  res.header("Access-Control-Allow-Methods", "GET,POST,PUT,PATCH,DELETE");
  res.header("Access-Control-Allow-Credentials", true);
  if (req.method === "OPTIONS") {
    return res.sendStatus(204);
  }
  next();
});

使用两者有区别吗?一个使用另一个吗?我需要两者吗?

CORS中间件是框架中间件,您不需要同时使用两者。
如果您使用的是Express.js,那么我建议您使用中间件,而不是像您在问题中提到的那样发送标题。

我会使用您列出的npm cors包来实现您的目标。使用此cors库时,不需要手动设置标题,除非您希望设置cors包未设置的额外标题

我专门为白名单特性使用了这个包,在白名单特性中,您可以包含一个域列表,您希望允许这些域向API发出请求