Sun~sun~Flower's

〜ITエンジニアとして日々前向きに生きていくノウハウブログ〜

MENU

【Railsアプリケーション】requireと@importの違い

f:id:mTakata:20200414222132j:plain

こんにちは。

当ページにアクセスしてくださり、ありがとうございます。

 

この記事は、プログラミング言語「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がこの機能を担っております。

 

それに対して、@importscssが用意しているメソッドです。

 

そのため、application.scssと拡張子を変更しないと使えません。

 

また、application.scssからscssファイルをインポートするために使用します。

 

以上となります、参考になれば幸いです。

 

最後まで読んでいただき、ありがとうございました。