为create react app设置代理服务器

Ilj*_*lja 9 javascript node.js express reactjs create-react-app

我已经使用create-react-app启动了一个react应用程序,并运行该npm run eject脚本来访问所有文件.我后来安装的快递和创建server.js文件,该文件在同一水平坐镇package.json文件

这些是server.js文件内容:

const express = require('express');
const app = express;

app.set('port', 3031);

if(process.env.NODE_ENV === 'production') {
  app.use(express.static('build'));
}

app.listen(app.get('port'), () => {
  console.log(`Server started at: http://localhost:${app.get('port')}/`);
})
Run Code Online (Sandbox Code Playgroud)

没有什么可以疯狂的,只是设置未来的api代理我需要使用秘密,因为我不想暴露我的api.

在此之后我添加了一个"proxy": "http://localhost:3001/"到我的package.json文件.我现在陷入困境,因为我需要弄清楚如何正确启动我的服务器并server.js在开发模式下使用此文件,然后在生产中使用.

理想情况下这也将是很好的,如果我们可以用一个以上的代理,即/api/api2

jpd*_*rre 6

您无需弹出即可运行server.js.你可以和它node server.js一起运行它create-react-app.

npm start弹出后,您仍然可以执行启动dev服务器.

要运行/api1/api2,你只需要处理它在你的server.js文件,它应该工作得很好.你需要匹配portserver.js和你proxy里面的设置package.json- 在这种情况下,它应该是"proxy": "http://localhost:3031"