1

私から非常識な時間を奪っている「小さな」問題があります。

私はsymfony2.1lesscssフィルターでasseticを使用しています。問題は、Assetic(?) が を使用してインポートされたファイルのファイル変更に気付かないことです@import。例えば:

global.less:

@import "colors";

body {
    background: @backgroundColor;
}

色なし:

@backgroundColor: #333;

ここで、 colors.less を変更@backgroundColorも何も起こりません。global.lessファイルに空白を追加する必要があり、そうして初めて CSS が再コンパイルされます。

最初に、APCアクセラレータの問題かどうかを確認したので、無効にしましたが、そうではありませんでした。次に、assetic github をチェックしたところ、これが見つかりました:問題 #79

試してみましたが、何もしていないかのようにストーリーは同じです。次に、「ArrayCache」クラスが2か月前にマージされたことがわかったので、 Asseticバージョンにこの機能があるかどうかを確認したので、 composer.jsonを「dev-master」Assetic Bundle(途中で更新された)を要求するように設定しました-december であるため、新しい Assetic バージョンがマージされています)。まだ成功していません。

私は今、アイデアがありません。

4

2 に答える 2

1

これは既知のバグです。Assetic は、インポートされたより少ないドキュメントへの変更を見つけることができません。

これを修正するには、開発環境でのみ機能するLessElephantBundleを使用します。スキャンするファイルの変更が少なくなり、失敗した場合は force_compile var を使用できます。

assetic:dump --env=prod では必要ありません。assetic はキャッシュなしですべての CSS を再生成します。

于 2013-01-08T11:19:46.163 に答える
0

この問題は、2年経ってもまだ発生します。touch私が修正した方法は、@imports によって参照される LESS ファイルの 1 つが変更されるたびに、メインの LESS ファイルでコマンドを実行する PHPStorm で File Watcher を設定することでした。これにより、キャッシュが破棄され、CSS ファイルが再コンパイルされます。

于 2014-07-06T04:38:31.260 に答える