在Firebase托管中动态包含域名

时间:2018-08-30 15:30:55

标签: firebase firebase-hosting

我有一个index.html文件,该文件是通过Firebase托管发布的。我已经在Firebase控制台中设置了DEV(私密)和PROD(吸)应用程序。并成功将我自己的域链接到该域(https://firebase.google.com/docs/hosting/custom-domain

此页面包含opengraph元数据,并且作为og:url的一部分,它应指向mydomain.dev.com(发布到DEV时)或mydomain.prod.com(发布到PROD)。我不想开始复制index.html文件(代码可维护性),那么如何通过Firebase Hosting动态插入正确的域?

<!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 个答案:

答案 0 :(得分:0)

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

1)部署之前的构建步骤

具有包含变量的单个index.html模板文件。

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

然后,您使用gulpwebpack之类的构建工具将domain变量替换为要部署的特定站点的域。

2)函数呈现

这将有一个类似的index.html模板,该模板位于Firebase Function中。然后,您将托管映射为功能支持,这将根据请求呈现具有正确域的HTML。