8

CSS を次のコードに含めます。

{% stylesheets 'bundles/majorproductionssewingdivasite/css/*.css' filter='cssrewrite' %}
    <link rel="stylesheet" type="text/css" href="{{ asset_url }}" />
{% endstylesheets %}

開発では、これにより画像スプライトを問題なく使用できます。私のスプライトへの結果の URL は次のとおりです。

http://localhost/diva/web/bundles/majorproductionssewingdivasite/images/diva-sprites.jpg

しかし、prod では、次のようにマッピングされます。

http://localhost/diva/bundles/majorproductionssewingdivasite/images/diva-sprites.jpg

Web ディレクトリがないことに注意してください。

CSS ファイルで生成されたコードは本来あるべき姿であり、すべての CSS (dev の「チャンク」と完成した prod アセット ダンプの両方) はweb/css/. prod 環境が web ディレクトリをスキップする理由について何か考えはありますか?

編集: 奇妙なのは、dev と prod の両方が CSS 自体で同じ URL を生成することです:

url('../../bundles/majorproductionssewingdivasite/images/diva-sprites.jpg')

4

4 に答える 4

20

解決策は、prod環境にアセットをダンプすることです。

$ app/console assetic:dump --env=prod
于 2012-12-28T17:50:15.110 に答える
9

キャッシュをクリアすることを忘れないでください

php app/console cache:clear --env=prod --no-debug

べろれ

php app/console assetic:dump --env=prod --no-debug
于 2013-09-13T15:28:16.360 に答える
2

また、以下のように config_prod.yml を設定して、assetic を適切に構成することも忘れないでください。

assetic:
    use_controller: false

編集:Symfonyのドキュメントで述べられているように(実際には章では開発環境を参照しています):これらのファイルを動的に処理しようとするのをやめるようにSymfonyに伝えます

于 2017-10-02T08:54:03.690 に答える
0

デバッグ モードでは、Assetic 1.1 は {% stylesheets %} タグにない場合でも CSS を書き換えるようです。したがって、本番環境でデバッグをオフにするときに、そこにあることを確認する価値があります。

于 2013-01-15T05:28:07.283 に答える