Javascript 使用Express.js启用CORS以允许多个端口通信

Javascript 使用Express.js启用CORS以允许多个端口通信,javascript,node.js,reactjs,express,cors,Javascript,Node.js,Reactjs,Express,Cors,我正在尝试使用React和Axios从前端(localhost:3000)到后端(localhost:4567)进行API调用,但我一直遇到以下错误: CORS策略已阻止从源“”访问“localhost:4567”处的XMLHttpRequest:跨源请求仅支持以下协议方案:http、数据、chrome、chrome扩展、https 我已尝试通过将此添加到使用express.js的后端代码中来允许CORS: const cors = require("cors"); app.use(functi

我正在尝试使用React和Axios从前端(localhost:3000)到后端(localhost:4567)进行API调用,但我一直遇到以下错误:

CORS策略已阻止从源“”访问“localhost:4567”处的XMLHttpRequest:跨源请求仅支持以下协议方案:http、数据、chrome、chrome扩展、https

我已尝试通过将此添加到使用express.js的后端代码中来允许CORS:

const cors = require("cors");
app.use(function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "localhost:3000");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, 
         Accept");
    next();
});
但这似乎并没有带来什么不同。关于如何允许API从一个端口调用到另一个端口有什么想法吗?

//启用CORS

app.use(函数(请求、恢复、下一步){
让origin=req.headers.origin;
res.header(“访问控制允许来源”),req.headers.host.indexOf(“localhost”)>-1http://localhost:3000“:原产地);
res.header(“访问控制允许方法”、“GET、HEAD、OPTIONS、POST、PUT”);
res.header(“访问控制允许标头”、“来源、X请求、内容类型、接受、授权”);
res.header('Access-Control-Allow-Credentials',true);
next();
});

使用,var app=express()下面的以上行


注-无需使用const cors=require(“cors”)

您可以使用
$npm install cors
进行以下操作: