上下文
我们有两个不同的React JS应用程序,它们都部署在一个代理之后。
代理为根/
位置上的一个应用程序(让我们称之为主页)提供服务。它在子路径上为另一个提供服务,例如/application-a/
。因此,两者都在同一个域中,例如https://my-site.com/
和https://my-site.com/application-a/
如果我打开两个新的浏览器窗口,其中一个直接导航到/
,另一个直接导航到/application-a/
,效果会很好。
当我想在根路径应用程序(主页)中使用HTML a
标记,并使用相对href
将其链接到在/application-a/
子路径上运行的应用程序时,问题就来了。
在这种情况下,我相信路由器开始工作,并希望这是路由在本地应用程序。我想尝试“逃脱”或者“突破”react路由器。
可能的解决方案
href
的target
属性值为_blank
,则可以正常工作-但这并不可取,因为它会强制加载新的选项卡。href
值,那么我认为它将“转义”SPA,并在同一个选项卡中访问新页面。听起来很棒--但是现在我不得不使用绝对网址,这使得代码在开发/暂存/直播等之间的可移植性变得较差。/application-a/
设置了匹配的路由,并编程更改了window.location
?我可以看到这可能会起作用,但对我来说感觉很混乱。问题
有没有一种方法可以使用好的老式锚点标记,或者提供某种类型的属性,告诉react路由器“别管我”,让我在静态HTML/非SPA/非React JS页面中表现得像一个“常规”锚点。如果没有,任何其他建议都将不胜感激。
类似的悬而未决的问题:Navigating out of a react-router single page application on the same host
https://stackoverflow.com/questions/51948989
复制相似问题