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