我将Angular2网站部署到Firebase托管,但是' dist'文件夹始终在“资产”中发送整个图像集。文件夹,即使它们没有改变。这会占用更多带宽,因为此文件夹比所有其他文件组合的大。
如何仅部署已更改的图像? 策略是:
A)配置Firebase CLI" 部署"命令只处理已更改的图像
和/或
B)将Angular生产版本配置为仅包装已更改的图像(尽管这仍然需要Firebase更新' assets'文件夹而不是覆盖所有其他文件夹,不变部署中的图像)
Firebase存储不是一个很好的选择,因为我已经看到......在页面加载时调用API来访问图像只会减慢加载时间...除非这涉及缓存策略?在一天结束时,解决方案需要让CDN和CLI协同工作,以最大限度地减少带宽和负载/部署时间。
答案 0 :(得分:3)
抱歉,Firebase托管静态内容目前没有部分部署。
另一种方法可能是将您的图像托管在一个项目中,而将其他项目托管在另一个项目中。如果您的图片不经常更改,那么如果没有任何更改,您就不必使用图片部署到项目中。
您还可以使用存储来存储您的图像,然后通过Cloud Functions integration with Firebase Hosting提供它们,它可以动态查找并将图像代理到客户端。然后可以将主机配置为在CDN上缓存图像as described in the documentation。
如果您在实时数据库中记录图像的存储下载URL而不是要求存储生成一个,并让客户端看到那里,那么您可能会看到一些收益。