LoginSignup
1
3

More than 3 years have passed since last update.

RailsでCSSやJavaScriptが読み込まれる仕組みをアセットパイプライン、Sprockets、マニフェストファイルで理解する

Posted at

本来、HTML,CSSでサイトを作成する際は、HTMLファイルからlinkタグを使ってCSSファイルを読み込む設定が必要です。

しかし、Railsの場合、それらを記述する必要はありません。

じゃぁどうやって必要なCSSやJavaScriptが読み込まれるのか??
アセットパイプライン
Sprockets
マニフェストファイル
のこれらの単語を使ってざっくり理解する。

アセットパイプライン

要は、まとめてくれる(統合してくれる)って仕組み。
詳しく働きをみると以下のようになる。
1.コンパイル
2.統合
3.圧縮
4.ダイジェスト付与
5.完成したファイルがpublic/assets/に保存される

Sprockets

アセットパイプラインの動作を担っているのがSprockets。
gemとしてデフォルトで入っている。
アセットパイプラインはデフォルトで有効なので、無効にしたい場合は--skip-sprocketsをつけて以下のコマンドを実行。

$ rails new appname --skip-sprockets

マニフェストファイル

app/assets/javascripts/application.js
app/assets/stylesheets/application.css
がそれぞれcssとJavaScriptのマニフェストファイル。
ここに記述されてあるrequire_tree.によって指定されるディレクトリのファイルが全て読み込まれる

オススメ記事

Ruby on Rails のアセットパイプラインの挙動を環境ごとに学ぶ
Railsガイド アセットパイプライン
railsのアセットパイプラインについて解説する


1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3