AssetsPipelineで全てのCSSとJavaScriptをコンパイルする

AssetsPipelineで全てのCSSとJavaScriptをコンパイルする

Rails4.1でProductionモードで動かすと、通常ではAssetsPipelineの都度コンパイル

はしない設定になっているため、事前コンパイルする必要がある。

コンパイルは以下のコマンドで行う

“`
rake assets:precompile
“`

ProductionモードでCSSやJSを都度コンパイルしない(事前コンパイル)の設定は、
config/environments/production.rbの以下の記述にある

“`
config.assets.compile = false
Rails.application.config.assets.precompile += [‘*.js’, ‘*.css’]
“`

コンパイル対象はファイルごとに「Rails.application.config.assets.precompile」で指定
する必要があり、ここで指定していないとprecompileを実行してもコンパイルされない。
上記の例は、全てのJSとCSSをコンパイルさせる場合の書き方

ちなみに、ローカル環境などWEBrickを使ってこの動きを確認する場合は、
config/environments/production.rbの以下の記述をtrueに設定する必要がある

“`
# Disable Rails’s static asset server (Apache or nginx will already do this).
config.serve_static_assets = false
“`

これはコメントにもあるように、Apacheやnginxの環境では不要である

TAG

  • このエントリーをはてなブックマークに追加
金子 将範
エンジニア 金子 将範 rubyist

新しいことや難しい課題に挑戦することにやりがいを感じ、安定やぬるい事は退屈だと感じます。 考えるより先に手が動く、肉体派エンジニアで座右の銘は諸行無常。 大事なのは感性、プログラミングにおいても感覚で理解し、感覚で書きます。