如何在生产中基于创建-反应-应用程序的项目中指定端口号?



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

PS - 我见过这样的线程 - 如何指定一个端口来运行基于创建-反应-应用程序的项目?,但我看不出如何将此解决方案应用于生产中。

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

相反,您可以使用简单的静态文件服务器轻松托管CRA应用程序,该服务器可以轻松配置nginx,而无需反向代理或更改开发服务器的端口。您只需运行npm run build命令并将build文件夹的内容部署到静态文件服务器的相应文件夹中。您可以在CRA的文档中阅读有关此内容的更多信息。

此外,请确保在生成项目之前在package.json中指定homepage,因为您将在相对路径中托管应用程序,例如mywebsite.com/project1。因为 CRA 假定您的应用以默认设置托管在服务器根目录。

希望这有帮助!

最新更新