如何在生产中基于create-react-app的项目中指定端口号?

时间:2017-08-18 00:01:14

标签: reactjs reverse-proxy create-react-app

我正在部署一个网站,其中包含一些使用create-react-app构建的反应项目。每个项目都在自己的网页上:例如:mywebsite.com/project1,mywebsite.com/project。我在Ubuntu服务器上设置了一个nginx反向代理(我知道如何配置),但我不知道如何为每个create-react-app项目指定端口号,以便每个项目都有一个唯一的端口。任何人都可以阐明如何做到这一点?谢谢!

PS - 我见过这样的线程 - How to specify a port to run a create-react-app based project?,但我看不出这个解决方案如何应用于生产中。

1 个答案:

答案 0 :(得分:0)

您在create-react-app中使用npm start命令启动的服务器是webpack dev服务器。它只是意味着在开发时使用,你不应该在生产环境中使用它。

相反,您可以轻松地使用简单的静态文件服务器托管CRA应用程序,该服务器可以easily configure with nginx而无需反向代理或更改开发服务器的端口。您只需运行npm run build命令并将build文件夹的内容部署到静态文件服务器的相应文件夹中。您可以在the documentation of CRA中了解详情。

此外,在构建项目之前,请确保specify the homepage in your package.json,因为您要在mywebsite.com/project1之类的相对路径中托管您的应用。因为CRA假定您的应用程序使用默认设置托管在服务器根目录。

希望这有帮助!