v3.2 では Rails のアセット パイプライン機能を使用しています。すべてのアセットをローカルでプリコンパイルし、プリコンパイルされたアセットを Git リポジトリにコミットしています。rake assets:precompile
生成されたアセットのすべての GZip 圧縮バージョンを実行するたびにpublic/assets/
、変更済みとしてマークされます。これは、GZip ファイル形式に、バージョン番号とタイムスタンプを含むヘッダーが含まれているためだと思われます。
この問題を回避する最善の方法は何ですか?
私たちは以下を検討しました:
- Turbo-sprockets gemを使用して、変更されたアセットのみをコンパイルします。これまでのところ、これが最良の選択肢のようです。
- ローカルではなく、ターゲット サーバーでプリコンパイルします。特に展開にかなりの時間がかかります。頻繁な展開と頻繁に変更されない資産。
- GZip 圧縮アセットをプリコンパイルせず、代わりに Web サーバーで静的アセットをその場で圧縮します。Web サーバーに余分な負荷がかかり、Sprockets は Web サーバーよりも高い圧縮係数を使用することになっているため、ダウンロードに時間がかかります。
他のオプションはありますか?