如何避免每次运行rake资产时都会修改GZip压缩资产:预编译

时间:2013-09-19 16:48:22

标签: ruby-on-rails git asset-pipeline

我们在v3.2中使用Rails的资产管道功能。我们在本地预编译所有资产,并将预编译的资产提交到我们的Git存储库中。每次运行rake assets:precompile时,public/assets/中生成的资产的所有GZip压缩版本都会被标记为已修改。我怀疑这是因为GZip file format包含一个包含版本号和时间戳的标题。

避免此问题的最佳方法是什么?

我们考虑过:

  1. 使用turbo-sprockets gem仅编译已更改的资产。到目前为止,这似乎是最好的选择。
  2. 在目标服务器上而不是在本地服务器上进行预编译。使部署时间显着延长,尤其是经常部署和不经常更改的资产。
  3. 不预编译GZip压缩资产,而是让Web服务器动态压缩静态资产。在Web服务器上增加了额外的负载,并且Sprockets也应该使用比Web服务器更高的压缩因子,从而导致更长的下载。
  4. 还有其他选择吗?

0 个答案:

没有答案