如何在快速.js资产上设置响应标头

2022-08-30 00:40:44

我需要将 CORS 设置为在 express 提供的脚本上启用。如何在公共/资产的这些返回响应中设置标头?


答案 1

npm 上至少有一个中间件用于在 Express 中处理 CORS:cors。[见@mscdex答案]

这是如何从 ExpressJS DOC 设置自定义响应标头

res.set(field, [value])

将标题字段设置为值

res.set('Content-Type', 'text/plain');

或传递对象以一次设置多个字段。

res.set({
  'Content-Type': 'text/plain',
  'Content-Length': '123',
  'ETag': '12345'
})

别名为

res.header(field, [value])

答案 2

这太烦人了。

好吧,如果有人仍然有问题,或者只是不想添加另一个库。您所要做的就是将此中间件代码行放在路由之前。

科斯示例

app.use((req, res, next) => {
    res.append('Access-Control-Allow-Origin', ['*']);
    res.append('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
    res.append('Access-Control-Allow-Headers', 'Content-Type');
    next();
});

// Express routes
app.get('/api/examples', (req, res)=> {...});