アセットパイプライン
アセットパイプラインとは
JavaScript、CSS、画像のリソース(アセットとよぶ)を最小化または圧縮して効率よく扱うための仕組みです。
アセットパイプラインはsprockets-railsというgemによって提供される機能で、デフォルトで有効になっています。
①高級言語のコンパイル→②アセットの連結→③アセットの最小化→④ダイジェストの付与を行います。
高級言語のコンパイル
Coffee Script, SCSS, ERB, Slimなどで書かれた高級言語を
ブラウザで認識できるJavaScript, CSSファイルに変換します。
アセットの連結
複数生成された.cssとか.jsファイルを連結して1つのファイルにします。
連結することで読み込み時間を短縮することができます。
アセットの最小化
そのまとめたファイルを圧縮して、サイズを小さくします。
リクエスト時の通信料を更に削減することが出来ます。
ダイジェストの付与
圧縮したファイル名にダイジェストを付与します。
ダイジェストのおかげで、ファイルが更新された場合は、
別名のファイルが新しく作成されて読み込むため、
古いキャッシュの情報が使われることがなくなります。