【发布时间】:2018-04-30 11:00:56
【问题描述】:
我有一个内置在 React 中的静态 javascript 应用程序,已部署到 firebase,并位于 example.firebaseapp.com。
我还有一个 Node 应用程序,它在 www.example.com 上为我的主应用程序提供服务,并托管在 Heroku 上。
我想弄清楚的是,当访问给定的子文件夹时,如何让用户访问我的静态 javascript 应用程序,例如www.example.com/app?
另外,有没有一种方法可以让我不必处理 CORS 问题,因为它们基本上会存在于同一个域中?
【问题讨论】:
-
不,这有点不同。我正在尝试为来自完全不同域的应用程序提供服务,但我不确定如何提供来自该应用程序的内容。我已经阅读了一些关于使用反向代理的不同内容,但我不确定这是否是最好的方法。
-
啊,抱歉,知道了。我错过了不同的领域方面。您可能需要考虑将静态应用程序移至 Heroku。我怀疑这比从 Heroku 代理/缓存 Firebase 应用程序更简单、性能更高(尤其是在静态应用程序更新期间)和更容错,反之亦然。我知道这不是你问的,但从长远来看,它可以简化事情。
-
是的,谢谢你的建议。我使用 Firebase 的原因是因为它允许我快速/轻松地将已编译的静态资产(html、css、js、图像)部署到公共 URL,而无需集成到另一个 Node 应用程序中,然后将其部署到另一个heroku实例。也许我在想这个错误。好名字顺便说一句:)
-
Will 读起来令人困惑 :) Will 提供了很好的建议。如果没有反向代理来服务来自
example.com域的请求并将它们传递给firebaseapp.com,则没有任何方法可以实现此目的。为了提高性能,反向代理可以缓存它代表客户端获取的内容,但我觉得这比保证的复杂性要高。或者,我们可以将 CNAME 记录分配给映射到 Firebase 的子域app.example.com。
标签: javascript node.js .htaccess firebase heroku