首页 > 解决方案 > How to resolve a proxy error in a reactjs/ express app?

问题描述

I have the following error:

Proxy error: Could not proxy request /AppManager.jsx See https://nodejs.org/api/errors.html#errors_common_system_errors for more information (ECONNREFUSED).

react-dom.development.js:199 GET http://localhost:3000/List.jsx 500 (Internal Server Error)

I am using an app based on create-react-app. The app talks to a express/ node api server. Why do I get this error?

标签: node.jsreactjsexpress

解决方案


您需要在 express 中将您的跨域 url 列入白名单。

这是一个简单的中间件函数,用于从白名单中提供正确的 CORS 标头。将此设置在您的快速应用顶部附近将允许您的所有路线在提供内容之前从白名单中设置正确的标题。

 app.use(function(req, res, next){
 var whitelist = ['localhost:4000', 'localhost:3000', 'anydomain.com']
 var host = req.get('host');

 whitelist.forEach(function(val, key){
  if (host.indexOf(val) > -1){
   res.setHeader('Access-Control-Allow-Origin', host);
  } 
})

next();
});

推荐阅读