0

ベースの twig テンプレートで次のブロックを使用して、圧縮された css ファイルを作成します。

{% stylesheets  output='bundles/myBundle/compressed/compressed.css'
                filter='uglifycss'
                filter='cssrewrite'
                'bundles/myBundle/stylesheets/app.css'
                'bundles/myBundle/stylesheets/tablet.css'
                'bundles/myBundle/stylesheets/phone.css'
%}
        <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}

数週間前 (および ubuntu 15.04 へのアップグレード) までは、これですべての css ファイルを適切にダンプできました。

これで、@media と @font-family の部分が、コンパイル/圧縮された css から削除されました。

cssrewrite フィルターのみを適用し、uglifycss フィルターを適用しない場合、期待どおり、@media および @font-face の部分が存在します。

私が使用するもの: uglifycss@0.0.15、Symfony v2.6.8、symfony/assetic v2.6.1

ここで何がうまくいかないのか誰か知っていますか?

助けてくれてありがとう!ドミニク


編集:もう少しピン留めすることができました。symfony は次のコマンドを実行して、css を醜くします。

/usr/bin/nodejs /usr/local/bin/uglifycss /path/to/my/app.css

bash コマンドラインで同じコマンドを実行すると、同じ誤動作が発生します。したがって、これは Symfony やアセットの問題ではなく、uglifycss の問題のようです。

何か案は?

乾杯、 ドミニク

4

1 に答える 1

0

さらにデバッグすると、css コメントが問題であることが明らかになりました。

http://www.w3.org/TR/CSS21/syndata.html#commentsによると、次のようなコメントがあります。

/*/////////////////////////////////*/
/* some comment                    */
/*/////////////////////////////////*/

しかし、uglifycss 0.0.15 には「/*/」で終わるコメントに問題があることが判明しました。

最後の「/」と「*/」の間にスペースを追加すると、問題が解決しました。

/*//////////////////////////////// */
/* some comment                    */
/*//////////////////////////////// */

また、github でイシューをオープンしました。https://github.com/fmarcia/UglifyCSS/issues/33

乾杯、 ドミニク

于 2015-07-03T12:01:28.567 に答える