Reactjs 在ApacheTomcat中部署react构建应用程序时如何修复路径错误

Reactjs 在ApacheTomcat中部署react构建应用程序时如何修复路径错误,reactjs,tomcat,Reactjs,Tomcat,我开发了一个react应用程序,并使用“npm运行构建”创建了一个生产构建。当我把这个构建文件放在ApacheTomcat的webapps文件夹(名为ldap)中,启动服务器并转到“”这个链接时,所有静态文件都显示了404个错误 我查看了网络选项卡,发现我的所有静态文件都是从它提供的,因为链接()中缺少了“ldap”部分 是否有办法解决此错误。由于您要在子目录中安装React应用程序,因此需要解决以下几件事 第一种方法是在路由器中设置basename属性,这会告诉React应用程序它将挂载在子目

我开发了一个react应用程序,并使用“npm运行构建”创建了一个生产构建。当我把这个构建文件放在ApacheTomcat的webapps文件夹(名为ldap)中,启动服务器并转到“”这个链接时,所有静态文件都显示了404个错误

我查看了网络选项卡,发现我的所有静态文件都是从它提供的,因为链接()中缺少了“ldap”部分


是否有办法解决此错误。

由于您要在子目录中安装React应用程序,因此需要解决以下几件事

第一种方法是在路由器中设置basename属性,这会告诉React应用程序它将挂载在子目录中

<Router basename={'/your-directory'}>
  <Route path='/' component={SomeComponent} />
</Router>
链接示例:

<Link to={`${process.env.PUBLIC_URL}/other-dir`}>Link to /other-dir</Link>
链接到/other目录

@BojonIvanac谢谢。我尝试了你的建议,我已经按照说明构建了应用程序,它能够捕捉到正确的路径,但没有显示任何内容。经过一些调整(比如我删除了“process.env.PUBLIC_URL”的用法)并在ApacheTomcat中重新构建和部署后,我能够得到结果。@sumeeth Perfect,很高兴它有帮助,请将答案标记为正确。谢谢
<Link to={`${process.env.PUBLIC_URL}/other-dir`}>Link to /other-dir</Link>