Tag: Rails/アセットパイプライン

目次

関連ページ

参考情報

基本

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

アセットのプリコンパイル

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

Tips

CKEditorのアセットでフィンガープリントがついてないアセットが作られる理由は?

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

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-04-29 (木) 14:14:28