我已使用create-react-app启动了一个react应用程序,并运行npm run eject
脚本来访问所有文件。之后我安装了express 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')}/`);
})
这里没什么好疯狂的,只是设置未来的api代理我需要使用秘密,因为我不想暴露我的api。
之后我在"proxy": "http://localhost:3001/"
文件中添加了package.json
。我现在陷入困境,因为我需要弄清楚如何正确启动我的服务器并在开发模式下使用此server.js
文件,然后在生产中使用。
理想情况如果我们可以使用更多的代理,即/api
和/api2
答案 0 :(得分:6)
您无需弹出以运行server.js。您可以使用node server.js
和create-react-app
一起运行它。
即使在弹出以启动您的开发服务器之后,您仍然可以执行npm start
。
要运行/api1
和/api2
,您只需在server.js
文件中处理它,它应该可以正常运行。您需要匹配port
中的server.js
和proxy
中package.json
设置中的"proxy": "http://localhost:3031"
- 在这种情况下,它应该是{{1}}