0

Ubuntu 12.04 でコンパスと Assetic を使用して Symfony2 プロジェクトを構成しようとしています (Windows XP でコンパスと Assetic を使用してこのプロジェクトを実行することをあきらめます)。

コンパスを構成し、開発環境でプロジェクトを開始すると正常に動作しますが、本番環境では、コンパス フィルターからの css 出力ファイルへの asset_url パスが間違っています。

これが私の config.yml 資産セクションです。

# Assetic Configuration
assetic:
debug:          %kernel.debug%
use_controller: false
#bundles:        [ ]
#java: /usr/bin/java
filters:
    cssrewrite: ~
    sass: 
      bin: /usr/local/bin/sass
      apply_to: "\.scss$"
      #bin: C:/Ruby200/bin/sass this is for Windows not working though
    compass: 
        images_dir: %kernel.root_dir%/../web/images
        http_path:  /images
        #bin: C:/Ruby200/bin/compass.bat this is for Windows not working though
        bin: /usr/local/bin/compass
    closure:
        jar: %kernel.root_dir%/Resources/java/compiler.jar
    yui_css:
        jar: %kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar

app/Resources/views/base.html.twigに資産フィルターを含めます

 {% stylesheets filter="compass" "@PortalSlubnyMainBundle/Resources/public/css/settings.scss"%}
 <link rel="stylesheet" href="{{ asset_url }}" />
 {% endstylesheets %}
 <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />

app_dev.php を介してプロジェクトを実行すると、適切にフォーマットされた asset_url が得られました

次のようになります: /app_dev.php/css/6262784_settings_1.css

製品環境では、次のような間違った URL を取得しました: /css/6262784.css (404 not found エラー)

prod と dev のキャッシュをクリアしましたが、何も変わっていません。

4

1 に答える 1

1

開発環境では、assetic はデフォルトでコントローラーを使用します。したがって、prod および dev 環境の URL は適切です。

アセット ファイルを生成するには、実行する必要がありapp/console assetic:dump、それらのファイルは本番環境で使用されます。

于 2013-06-30T11:10:09.897 に答える