firebase - firebase 托管 - 在 iframe 中显示不正确的内容
问题描述
我有一个在 firebase 上运行的反应应用程序,需要在 IFrame 中显示内容。在 firebase 上运行时,firebase 在 IFrame 而不是相关页面中显示 index.html。
所有文件都在同一个目录中,但 firebase 默认使用 index.html 而不是请求的页面
解决方案
当您在命令行中初始化 Firebase 项目时,预部署时,您可能会对询问此项目是否为单页应用程序的提示说“是”。说是,CLI 工具在 firebase.json 设置文件中生成了以下设置:
这告诉 Firebase 服务器将所有页面请求路由到您的 index.html 文件 - 注意通配符 ** - 以便您的 React 应用程序可以加载适当的页面。
如果您不希望在该规则中包含特定路由,例如对其他文件的调用 - 您需要在该 firebase.json 设置文件中包含额外的重写:
"rewrites": [
{
"source": "/more/**",
"destination": "/more/anotherpage.html"
},
{
"source": "**",
"destination": "/index.html"
},
]
*请注意顺序很重要,请确保它在 catch-all 通配符选项之前
您可以在官方文档的相关部分阅读更多关于重写的信息。
推荐阅读
- javascript - 从不同的路由调用异步函数得到不同的结果
- objective-c - 使用 Metal (Mac OS X 10.15.6) 时引发分段错误
- javascript - 跨函数维护全局变量的计数器
- python - 字符串切片参数
- python-3.x - matplotlib.patches Circle - 透明?
- json - curl: (3) [globbing] 不匹配的右大括号/方括号
- arrays - 如何在swift中过滤包含属性的数组
- mongodb - 更新 MongoDB 中的许多文档(新模式)
- c - 为什么这里有两个 movl 而不是 movq?
- java - 为什么这些String比较在java中有不同的结果?