Reactjs 如何使用AWS负载平衡器在子目录中部署react应用程序

Reactjs 如何使用AWS负载平衡器在子目录中部署react应用程序,reactjs,amazon-web-services,subdirectory,aws-load-balancer,Reactjs,Amazon Web Services,Subdirectory,Aws Load Balancer,我一直试图在一个子目录上运行我的react应用程序。 我正在使用负载平衡器(ALB)从https://mydomain/directory". 但我的应用程序找不到构建的静态文件 在package.json上添加了目录。“主页”:“/目录” 在react路由器dom上添加了basename 在my networks index.html中,以相同的方式查找“.#######/directory/static/js”和css 我只能通过将静态请求重定向到我的react build来运行我的reac

我一直试图在一个子目录上运行我的react应用程序。 我正在使用负载平衡器(ALB)从https://mydomain/directory". 但我的应用程序找不到构建的静态文件

在package.json上添加了目录。“主页”:“/目录” 在react路由器dom上添加了basename 在my networks index.html中,以相同的方式查找“.#######/directory/static/js”和css

我只能通过将静态请求重定向到我的react build来运行我的react build,但这不是一个好的解决方案,因为我想在我的ALB上运行3个应用程序,这将导致我在build中手动更改资产文件夹名称,显然我不想这样做。
我一直在应用多种解决方案,但找不到合适的解决方案,请有人帮忙。ALB不做重定向,也不做任何类型的请求路径重写,它只是将请求转发到目标。您需要设置您的服务器,以便它实际从该文件夹为网站提供服务,换句话说,在构建中更改您的资产文件夹名称


如果您不想这样做,您需要查看其他AWS解决方案,如CloudFront,它可以将请求代理到源服务器上的不同路径。

我有一个场景,使用带有ci/cd的nginx inside docker发布react应用程序。我花了一个单独的express服务器来提供应用程序文件,并解决了这个问题。以下是
server.js
的存储库概要,可能会有所帮助:


是的,我也有同样的问题。我正在使用docker容器创建reactjs构建,所以每次创建构建时,我都必须更改docker映像中构建的目录名。我希望我的构建过程能够保持自动化,更新docker映像?