Ruby on RailsではHTML,CSS,Javascript等を別々のファイルに分割してコーディングしやすくしている。しかし実際にクライアント側にデータが送られる際はHTML,CSS,javadcript、画像ファイルは一つのファイルに圧縮されている。この分割しているファイルをまとめる機構がアセットパイプライン、ファイルをまとめる作業をアセットコンパイルという。webブラウザは複数のファイルをまとめる機能は持っていない。
アセットパイプラインを実行する為にはsprocketsというgemが必要。railsのインストール時に自動で入っている。
以下の2つのファイルが大元のapp/views/layouts/application.html.erbで読み込まれている。以下の2つのファイル(マニュフェストファイル:このファイルに従ってファイルを読み込む)に記述してあるrequire_tree .でそのディレクトリにある分割したファイルをすべて読み込んでいる。
app/assets/javascripts/application.js app/assets/stylesheets/application.css
プリコンパイルとは以下の流れのこと 1. 高級言語のコンパイル 2. 連結 3. 圧縮 4. publicディレクトリに配置
scssやcoffeescriptはCSSとJavascriptを書きやすくした言語そのままではコンパイル出来ないのでCSSとJavascriptを変換する必要がある。