我有一个可在Firebase上运行的React应用,需要在IFrame中显示内容。在Firebase上运行时,firebase在IFrame中而不是相关页面上显示index.html。
所有文件都在同一目录中,但Firebase默认使用index.html而不是请求的页面
答案 0 :(得分:0)
在命令行中进行预部署初始化Firebase项目时,您可能会在提示中回答“是”,询问该项目是否为单页应用程序。通过说是,CLI工具在firebase.json设置文件中生成了以下设置:
这告诉Firebase服务器将所有页面请求路由到您的index.html文件-注意通配符**-这样您的React应用程序可以加载适当的页面。
如果您不希望该规则中包含特定的路由,例如对其他文件的调用,则需要在该firebase.json设置文件中添加其他重写:
"rewrites": [
{
"source": "/more/**",
"destination": "/more/anotherpage.html"
},
{
"source": "**",
"destination": "/index.html"
},
]
* 请注意,顺序很重要,请确保顺序在“全部通配符”选项之前
您可以在official documentation的相关部分中阅读有关重写的更多信息。