Firebase功能-生成和托管静态网页

Firebase功能-生成和托管静态网页,firebase,google-cloud-functions,firebase-storage,firebase-hosting,Firebase,Google Cloud Functions,Firebase Storage,Firebase Hosting,我正在使用Firebase云函数生成HTML文件,现在我想将其与相关资产(js、css、字体等)一起托管,但没有成功 我调用该函数,它正确地生成文件并将其与js/css/其他资产一起放入Firebase存储中。现在,我想返回index.html文件的URL,以便用户可以在浏览器中访问它,.html页面可以访问这些资产。不幸的是,生成的URL强制下载,但我非常确定,即使我以某种方式管理它,它也无法访问资产文件 我知道这在AWS(S3 bucket)上是可能的,但我能在Firebase上做吗?在这种

我正在使用Firebase云函数生成HTML文件,现在我想将其与相关资产(js、css、字体等)一起托管,但没有成功

我调用该函数,它正确地生成文件并将其与js/css/其他资产一起放入Firebase存储中。现在,我想返回index.html文件的URL,以便用户可以在浏览器中访问它,.html页面可以访问这些资产。不幸的是,生成的URL强制下载,但我非常确定,即使我以某种方式管理它,它也无法访问资产文件


我知道这在AWS(S3 bucket)上是可能的,但我能在Firebase上做吗?在这种情况下,Firebase托管似乎不是正确的解决方案,是吗?

不要将其保存到存储中,对于这种情况,这是一个糟糕的用例。而是将其保存到主机:


也可以考虑从云函数直接服务内容,可能不需要先创建静态版本。

可以在 FiasBase.JSON/CODE中配置重写,并用<代码> ExpJJS <代码>中间件处理请求。无需将
HTML
保存到任何地方,只需将其发送到浏览器,浏览器会请求它。你是说你想直接从云存储桶提供静态web内容吗?@MartinZeitler问题是,我有一个完整的包,意思是HTML和本地资产(css、js、字体等)。在express中为每个文件创建一个端点是相当困难的。@DougStevenson这很理想,但据我所知,与S3不同的是,在同一个文件中,文件无法访问其他文件。如果它是一个永远不会更改的内容,通过托管它的静态版本,您可以节省Firestore查询的费用。它将防止用户对数据库进行大量查询。如果内容只是定期更改,也可以启用缓存:另请参见:“当进程以编程方式生成静态内容时(例如,用户生成的内容,如wiki或新闻文章),您可以将生成的内容部署为静态文件,而不是动态地为其提供服务。这将为您节省昂贵的计算能力,并以更具可扩展性的方式为您的文件提供服务。”