有没有办法将图像部署到Firebase托管,但只有在存在更改的地方?

时间:2017-07-07 03:18:27

标签: angular firebase angular-cli firebase-storage firebase-hosting

我将Angular2网站部署到Firebase托管,但是' dist'文件夹始终在“资产”中发送整个图像集。文件夹,即使它们没有改变。这会占用更多带宽,因为此文件夹比所有其他文件组合的大。

如何仅部署已更改的图像? 策略是:

A)配置Firebase CLI" 部署"命令只处理已更改的图像

和/或

B)将Angular生产版本配置为仅包装已更改的图像(尽管这仍然需要Firebase更新' assets'文件夹而不是覆盖所有其他文件夹,不变部署中的图像)

Firebase存储不是一个很好的选择,因为我已经看到......在页面加载时调用API来访问图像只会减慢加载时间...除非这涉及缓存策略?在一天结束时,解决方案需要让CDN和CLI协同工作,以最大限度地减少带宽和负载/部署时间。

1 个答案:

答案 0 :(得分:3)

抱歉,Firebase托管静态内容目前没有部分部署。

另一种方法可能是将您的图像托管在一个项目中,而将其他项目托管在另一个项目中。如果您的图片不经常更改,那么如果没有任何更改,您就不必使用图片部署到项目中。

您还可以使用存储来存储您的图像,然后通过Cloud Functions integration with Firebase Hosting提供它们,它可以动态查找并将图像代理到客户端。然后可以将主机配置为在CDN上缓存图像as described in the documentation

如果您在实时数据库中记录图像的存储下载URL而不是要求存储生成一个,并让客户端看到那里,那么您可能会看到一些收益。