お仕事でSymfony2をバリバリ触っている私です。
今回はSymfony2でAsseticを使う際に気を付けないといけないことを書き起こします。
まず、Asseticとはなんぞや?ってとこからですが、
・CSS、Javascriptの圧縮をしてくれる
・画像の最適化処理をしてくれる
ってな便利な機能です。
JSやCSSを読み込むのにAssetを使いますが、そのAssetにフィルターの機能をプラスしたのがAsseticなのです。
で、そのAsseticをつかってみたのですが、何故かprod環境でCSSやらJSやらを読み込んでくれませんでした・・・
何故だー!と思いつつ、色々と試行錯誤してみるとAsseticをprod環境で使う場合は以下の呪文を唱えないとダメみたいです。
$ php app/console assetic:dump --env=prod --no-debug
実際に、Asseticを使ってみると分かるのですが、読み込むCSSやJSのファイルは存在するファイルではなく、
存在するファイルを圧縮したものになりますので、その圧縮作業を上の呪文でやらないといけないのですねー。
Asseticを使おうとする方はその点に気を付けてくださいー。
それにしても
$ php app/console cache:clear --env=prod --no-debug
だったり、Symfonyは色々と事前にやることが多い・・・
こんな簡単なことに何時間もかけた自分が恨めしい(´・ω・`)
効率的なWebアプリケーションの作り方 ~PHPによるモダン開発入門
posted with amazlet at 13.05.11