1

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

老实说,我在第一次尝试使用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,或者我只是不知道如何做,但对于那些也被这个问题困扰的人,我有一个替代解决方案。只需在https://simmer.io中上传您的 WebGL 构建文件夹以临时托管它,直到经过测试的解决方案发挥作用。

4

1 回答 1

0

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

于 2021-02-11T05:33:22.893 回答