1

LessPHPを使用してSymfony2の下にWebサイトがあります。開発環境では、すべて正常に動作します。http://mylocalsite/app_dev.php/ブラウザを叩くとhttp://mylocalsite/app_dev.php/css/XXXX_myFile_1.css.

しかしhttp://mylocalsite/、ブラウザにアクセスするhttp://mylocalsite/css/XXXX_myFile_1.cssと、アクセスしようとして 404 エラーが発生します。

prod.log にはこれ以上は含まれません

[2014-01-24 12:08:46] request.ERROR: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "No route found for "GET /css/XXXX_myFile_1.css"" at /the/path

config.yml

# Assetic Configuration
assetic:
    debug:          "%kernel.debug%"
    use_controller: false
    bundles:        [ ]
    #java: /usr/bin/java
    filters:
        cssrewrite: ~
        lessphp:
            apply_to: "\.less$"
            file: %kernel.root_dir%/../vendor/leafo/lessphp/lessc.inc.php
            # Formatter options: compressed, lessjs, classic
            formatter: "compressed"
            preserve_comments: false

小枝のテンプレート

{% stylesheets '@ProjectMyBundle/Resources/less/myFile.less' %}
    <link rel="stylesheet" href="{{ asset_url }}">
{% endstylesheets %}

編集

私はファイルphp app/console assetic:dump --env=prod --no-debugをくれました。web/css/XXXX.cssしかし、ブラウザはまだ というファイルを探していますXXXX_myFile_1.css

私はこのように出力を設定しようとしました

{% stylesheets output='css/myFile.css'
    '@ProjectMyBundle/Resources/less/myFile.less' %}
    <link rel="stylesheet" href="{{ asset_url }}">
{% endstylesheets %}

私にファイルphp app/console assetic:dump --env=prod --no-debugを与えた別の時間を実行しました。web/css/myFile.cssしかし今、ブラウザはmyFile_myFile_1.css.

答え

use_controllerconfig.yml ファイルでtrueに設定する必要があります。

ありがとう

4

1 に答える 1

1

アセットをダンプする必要があります (= assetic はこれらすべてのアセットを 1 つの大きなファイルに結合します)。開発環境では、ファイルはメイン コントローラーを介して提供され、動的に生成されます。アプリをデプロイするときは、次を使用してアセットをダンプする必要があります

php app/console assetic:dump --env=prod --no-debug

これらのファイルをファイルシステム上に物理的に生成するため。詳細については、Symfony のドキュメントを参照してください。

于 2014-01-24T22:07:17.483 に答える