アセットパイプラインについて

アセットパイプラインとは?
JavaScriptCSSのアセットを最小化(スペースや改行などを詰めるなど)または圧縮して連結するためのフレームワーク

アセットパイプラインの実装は?
sprockets-rails gemによって実装され、デフォルトで有効になっている。アプリケーション作成時にアセットパイプラインを無効にするには、 --skip-sprocketsオプションを渡す

rails new appname --skip-sprockets

Railsではsass-rails gemが自動的にGemfileに追加されて、Sprocketsはアセット圧縮時にこのgemを使用  

--skip-sprocketsmオプションを使用するとRailsでsass-railsがGemfileに追加されなくなる、アセットパイプラインを後から有効にしたい場合は、  

gem 'sass-rails'

をGemfileに追加する必要がある

Sass、SCSSの違い

Sass ・・・CSSを拡張したメタ言語

SCSS ・・・Sassの記法の1つ  

scssを使うメリットって?

cssの記法にセレクタやプロパティをネストできるので記述量が減る、変数も指定できる

assets/stylesheets/application.scssに assets/stylesheets/top.scssを必要なファイルとして指定するには?

application.scssに

@import 'top';

を記述 ※railsのデフォルトのapplication.css(scss)ファイルではSprocketsのrequire_treeディレクティブによって同じディレクトリ全てのcss,scssファイルを読み込んでしまい、ファイルの読み込む順番がわからなくなってしまうので注意!!よって、必要なファイルのみ読み込んだ方が安全!!