为create react app

时间:2016-11-07 15:40:56

标签: javascript node.js express reactjs create-react-app

我已使用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

,那也是好的

1 个答案:

答案 0 :(得分:6)

您无需弹出以运行server.js。您可以使用node server.jscreate-react-app一起运行它。

即使在弹出以启动您的开发服务器之后,您仍然可以执行npm start

要运行/api1/api2,您只需在server.js文件中处理它,它应该可以正常运行。您需要匹配port中的server.jsproxypackage.json设置中的"proxy": "http://localhost:3031" - 在这种情况下,它应该是{{1}}