设置代理服务器创build反应的应用程序

我已经使用create-react-app启动了一个反应应用程序,并运行了npm run eject脚本来访问所有文件。 我之后安装了express并创build了与package.json文件位于同一级别的server.js文件

这些是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')}/`); }) 

这里没有什么疯狂的,只是设置了未来的API代理,我需要使用秘密,因为我不想暴露我的API。

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

理想情况如果我们可以使用更多的代理ie /api/api2 ,那也是一件/api2

你不必popup运行你的server.js。 您可以使用node server.js create-react-app node server.jscreate-react-app一起运行它。

即使popup启动您的开发服务器,您仍然可以执行npm start

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