React 应用程序可以链接到公共文件夹上的静态 html 吗?

Posted

技术标签:

【中文标题】React 应用程序可以链接到公共文件夹上的静态 html 吗?【英文标题】:Can a React app link to a static html on the public folder? 【发布时间】:2021-05-14 19:55:15 【问题描述】:

我正在使用 react-router 创建一个 react 应用程序来更改页面,但我有一个包含 Unity webgl 的静态 html。我无法将 webgl 嵌入到 react 应用程序中,或者不确定是否可行,但我确信 Unity webgl 可以在独立的 html 上工作,因为它在 Unity 的 build and run 期间运行所以我只想在网站的公共文件夹中转储 Unity 构建文件(UnityWebGl.htmlBuild 文件夹、TemplateData 文件夹)在 react 上使用 href 标签 链接到它,而不会被 react-router 拦截。

老实说,我在第一次尝试使用 a href 标记时就可以让它工作,但愚蠢到没有 git commit。这似乎也不稳定,所以我想知道在不使用后端服务器的情况下链接到 react 应用程序中的静态 html 的正确方法

所以我在网站的公共文件夹中添加了Unity创建的UnityWebGl.htmlBuildTemplateData文件夹。 【图片】:https://i.stack.imgur.com/DWiQF.png

这是链接到静态 html 的组件上的 href 标记: <a target="_blank" href="/UnityWebGl.html"><Button>View Demo</Button></a>

我没有在 react-router 上添加静态 html 的路由,但不确定是否必须添加,因为我没有使用链接转到静态 html 页面:

<Router>
  <div className="App">
    <Switch>
      <Route exact path="/unitywebglsamples">
        <Header />
        <Samples />
      </Route>
      <Route exact path="/myhomepage">
        <Header />
      </Route>
      <Route exact path="/">
        <Header />
      </Route>
    </Switch>
  </div>
</Router>

顺便说一句,我在堆栈中看到了一些类似的问题,但所有这些问题都没有有效的答案或对我不起作用。

更新:我有点放弃了。也许 React JS 还没有准备好托管 WebGl 或静态 html,或者我只是不知道如何做,但对于那些也被这个问题困扰的人,我有一个替代解决方案。只需将您的 WebGL 构建文件夹上传到 https://simmer.io 以临时托管它,直到经过测试的解决方案发挥作用。

【问题讨论】:

【参考方案1】:

也许我没有完全理解这个问题。但是如何简单地创建一个带有显示该 html 文件的 iframe 的组件呢?我明白了,这个文件不是在你手里,而是从别处给的,所以你不能自己把它的内容放到组件中?

【讨论】:

以上是关于React 应用程序可以链接到公共文件夹上的静态 html 吗?的主要内容,如果未能解决你的问题,请参考以下文章

gh-pages 上的 React 应用程序:无法链接到本地​​文件

我可以将 React 应用程序用作静态 HTML 页面上的组件吗

在 React JS 中为资产创建静态链接

子域上的 Laravel 存储链接

如何打开谷歌驱动器公共链接

将 AWS Route 53 DNS 记录静态链接到 EC2 实例