设置代理服务器创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.js
和create-react-app
一起运行它。
即使popup启动您的开发服务器,您仍然可以执行npm start
。
运行/api1
和/api2
,你只需要在你的server.js
文件中处理它,它应该工作得很好。 你需要匹配server.js
中的port
和package.json
中的proxy
设置中的port
– 在这种情况下,它应该是"proxy": "http://localhost:3031"