我正在部署一个网站,该网站将有一些使用 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 假定您的应用以默认设置托管在服务器根目录。
希望这有帮助!