#author("2021-04-29T04:58:59+00:00","default:src128","src128")
#author("2021-04-29T05:14:28+00:00","default:src128","src128")
&tag(Rails/アセットパイプライン);
*目次 [#y31a3ec4]
#contents
*関連ページ [#h48fdcc7]
*参考情報 [#s6a03ca3]
-[[アセットパイプライン - Railsガイド:https://railsguides.jp/asset_pipeline.html]]

*基本 [#r5891616]
-JavaScriptやCSSのアセットを最小化 、圧縮して連結するためのフレームワーク。sprockets-railsが使われる。
-開発環境ではアセットのプリコンパイルは使われないが、本番ではプリコンパイルされる。
-このための本番環境でアセットのトラブルがおこりがち。


*アセットのプリコンパイル [#hba59919]
-本番環境ではプリコンパイル済みのアセットを使用する。
-以下のコマンドでアセットをプリコンパイルできる。public/assets以下にファイルが作られる。
 rake assets:precompile RAILS_ENV=production
-プリコンパイルは通常フィンガープリントつきのファイル名が作られる。このためasset_pathなどのRubyメソッドを使ってアクセスする必要あり。
-ただしJavaScriptから画像を参照したい場合、この方法は使えない。
-jquery.rarty.jsのようなライブラリはバイブから画像を指定できるので、erbなどから指定したほうがよいっぽい。
-どうしてもだめな場合、「config.assets.compile = true」でどうにかするしかない(この場合public/asset以下にファイルはつくられない)。


*Tips [#pac9b945]

**CKEditorのアセットでフィンガープリントがついてないアセットが作られる理由は? [#l70e0b7e]
-「rake assets:precompile」を実行すると通常フィンガープリントつきのアセットが生成される。
-しかしCKEditorの場合フィンガープリントがついていないアセットも作られる。これはCKEditor独自のrakeタスクが定義されていて、そこで作成処理がおこなわれているため。


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS