При применении uglifycss к моему css все мои объявления @media и @font-face теряются

Я использую следующий блок в моем базовом шаблоне ветки, чтобы создать сжатые файлы 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 и my @font-family удалены из скомпилированного / сжатого css.

Если я применяю только фильтр cssrewrite, а не фильтр uglifycss, то здесь присутствуют части @media и @font-face, как и ожидалось.

Я использую: uglifycss@0.0.15, Symfony v2.6.8, symfony/assetic v2.6.1

Кто-нибудь знает, что здесь может пойти не так?

Спасибо за вашу помощь! Dominik


Изменить: я смог закрепить это немного больше. Symfony выполняет следующую команду, чтобы очистить CSS.

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

выполнение той же команды в командной строке bash также вызывает такое же неправильное поведение. Так что это не проблема Symfony или сборка, но, похоже, проблема uglifycss.

Есть идеи?

Ура, Доминик

1 ответ

Решение

Дальнейшая отладка показала, что проблема была в комментарии css.

Согласно http://www.w3.org/TR/CSS21/syndata.html такой комментарий:

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

Но оказывается, что uglifycss 0.0.15 имеет проблемы с комментарием, оканчивающимся на '/*/'.

Добавление пробела между последним '/' и '*/' решило мою проблему.

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

Я также открыл вопрос о GitHub. https://github.com/fmarcia/UglifyCSS/issues/33

Ура, Доминик

Другие вопросы по тегам