我可以使用 firebase-storage 提供 AMP 页面吗?

Posted

技术标签:

【中文标题】我可以使用 firebase-storage 提供 AMP 页面吗?【英文标题】:Can I serve AMP pages with firebase-storage? 【发布时间】:2017-07-03 12:34:52 【问题描述】:

由于 firebase 托管只提供静态页面,我可以使用 firebase-storage 提供 [动态生成的] AMP 页面吗?

【问题讨论】:

【参考方案1】:

现在有了 firebase 云功能,您可以使用全 firebase 解决方案: 作为对 http 请求的响应,您可以查询数据库并动态生成发送到浏览器的 amp/html 页面。

这是我生成 html 页面的方法Firebase HTTP Cloud Functions - Read database once 到目前为止,我已经进一步开发了它以提供 amp 页面。

【讨论】:

我在 firebase 宣布 Firebase Hosting with Cloud Functions 时发现了这一点。谢谢!【参考方案2】:

如果我对 AMP 的理解正确,它可以完全静态使用,因此没有理由不能在 Firebase 托管上托管 AMP 页面。

如果您要进行动态渲染,则需要使用 App Engine、Compute Engine 或 Kubernetes(或不同云平台上的类似技术)。

【讨论】:

我知道我可以使用/在其他平台/堆栈上进行动态渲染,但我的想法是使用 firebase 的解决方案做一个完整的包。这是否意味着我无法使用 firebase-storage 提供 AMP 页面?有没有人尝试过,看看它是否可行? 我使用 firebase 托管部署了测试页面,效果很好。 想象一下,我有一个博客,其中包含越来越多的文章,我打算使用 AMP 发布这些文章。每次我有一个新的博客文章,我都会生成一个新的相应的 AMP 页面,但是我没有办法只部署一个新添加的 AMP 页面,而不在 firebase 托管上部署整个博客站点(可能有 1000 多篇文章)。 @AndrewSee 差异部署是我们正在进行的工作。您可以从 Google Cloud Storage 存储桶(Firebase Storage 使用)提供 AMP 页面,前提是您设置 SSL 和 DNS 并且全部指向您的存储桶(或使用 Fastly 或其他 CDN 为您执行此操作)。 @MikeMcDonald 感谢您提供的信息,至少我知道 Firebase 团队正在努力。【参考方案3】:

您可以将 Google Cloud Storage 上的存储分区设置为网站。见这篇文章: https://cloud.google.com/storage/docs/hosting-static-website

您也可以为此使用 firebase 存储桶,因为 firebase 存储 === 谷歌云存储。

问候,彼得

【讨论】:

以上是关于我可以使用 firebase-storage 提供 AMP 页面吗?的主要内容,如果未能解决你的问题,请参考以下文章

为啥图片没有上传到 Firebase-storage 并破解?

如何从离子3中的firebase-storage获取图像

错误:“无法实例化 firebase-storage - 请务必先加载 firebase-app.js”

如何在 Flutter 中基于 Future 结果构建 Stream?

无法上传到 Firebase 存储/权限被拒绝

Firebase 存储的 OnSuccessListener 回调未调用