Firebase主机中域名的动态包含

Firebase主机中域名的动态包含,firebase,firebase-hosting,Firebase,Firebase Hosting,我有一个index.html文件,通过Firebase主机发布。我在Firebase控制台中设置了一个DEV(私奔)和PROD(导入)应用程序。并成功将我自己的域链接到它() 此页面包括opengraph元数据,以及og:url,它应该指向mydomain.dev.com(发布到dev)或mydomain.prod.com(发布到prod)。我不想开始复制index.html文件(代码可维护性),因此如何通过Firebase托管动态插入正确的域 <!DOCTYPE html> <

我有一个
index.html
文件,通过Firebase主机发布。我在Firebase控制台中设置了一个
DEV
(私奔)和
PROD
(导入)应用程序。并成功将我自己的域链接到它()

此页面包括opengraph元数据,以及
og:url
,它应该指向
mydomain.dev.com
(发布到
dev
)或
mydomain.prod.com
(发布到
prod
)。我不想开始复制
index.html
文件(代码可维护性),因此如何通过Firebase托管动态插入正确的域

<!DOCTYPE html>
<html lang="en">
 <head>    
 <meta charset="utf-8">
 <meta property="og:url" content="mydomain.dev.com or mydomain.prod.com">
 <meta property="og:type" content="website" />  
 <meta property="og:title" content="Some title" />
 <meta property="og:description" content="some description" />      
 <meta property="og:image" content="/assets/img/og.jpg" />
 ...

...

有两种方法可以处理此问题

1) 部署前的构建步骤

有一个包含变量的index.html模板文件

<meta property="og:url" content="{{domain}}">

然后使用诸如或之类的构建工具将
变量替换为正在部署的特定站点的域

2) 函数渲染


这将有一个类似的index.html模板,该模板位于。然后将宿主映射到函数的支持下,该函数将根据请求使用正确的域呈现HTML。

选项1看起来很有趣(选项2将导致许多函数调用=成本)。这可以以某种方式集成到vscode中吗?函数响应是通过宿主路由的,所以只要您不愿意,就可以。这样,您将获得最少的函数调用,并且主要是托管使用。