こんにちは。
当ページにアクセスしてくださり、ありがとうございます。
この記事は、プログラミング言語「Ruby」のフレームワーク「Rails」についての記事になります。
例題
RailsアプリケーションでのCSS、 SCSSのインポートに関する問題です。
rails newを実行しアプリケーションを作成した段階では、application.cssに 「*=require_tree .」という記述があり、これによってCSSファイルを読み込んでいます。
SCSSを使用する際は、ファイルの拡張子をscssに変更。
その後、「@import ファイル名」を記述してSCSSファイルを読み込みます。
この時の、requireと@importはどう違うのか、それぞれのインポートの仕組みを踏まえて答えてください。
回答
requireはRailsのアセットパイプラインの仕組みを使ってファイルをインポートします。
アセットパイプラインとは、cssファイルやJavaScriptのファイルを1つにまとめ、圧縮することで処理速度を早くするための仕組みです。
sprocketsというgemがこの機能を担っております。
それに対して、@importはscssが用意しているメソッドです。
そのため、application.scssと拡張子を変更しないと使えません。
また、application.scssからscssファイルをインポートするために使用します。
以上となります、参考になれば幸いです。
最後まで読んでいただき、ありがとうございました。