2016-01-28 6 views
4

Я пытаюсь интегрировать Autoprefixer в рабочий процесс Symfony2 (с Assetic). Моя первая мысль была, что Assetic уже оказывала поддержку его как filter (как UglifyCSS и другие), так что я попытался это:Как использовать Autoprefixer с Symfony2

{% stylesheets 
     '@PrivateBundle/Resources/public/less/bootstrap/bootstrap.less' 
     '@PrivateBundle/Resources/public/less/private.less' 

     filter='less,cssrewrite,autoprefixer,?uglifycss' 
    %} 
     <link rel="stylesheet" href="{{ asset_url }}"> 
    {% endstylesheets %} 

Но это не сработало.


Единственной альтернативой я смог найти netzmacht/assetic-autoprefixer, но я не мог заставить его работать либо.

Я установил autoprefixer глобально (через sudo npm install -g autoprefixer), а также установлен kriswallsmith/assetic (который я думаю, это другой assetic, который поддерживает Autoprefixer) с помощью композитора, но после этого я не мог найти двоичный файл, что нужно для файла parameters.yml.

Я прочитал в какой-то проблеме github, что autoprefixer, возможно, несколько раз менялся с момента последнего обновления assetic-autoprefixer, но я не могу найти поток сейчас. В любом случае никаких дополнительных комментариев об этом не было.

Есть ли что-то, что мне не хватает или что-то не так? Существуют ли другие способы использования Autoprefixer (или любого другого подобного инструмента) с Symfony и Assetic?

+1

Ассифит не включен в Symfony3, поэтому он может быть устаревшим в ближайшее время. Подумайте о том, как изменить рабочий процесс на gulp или webpack. – luchaninov

+0

@how, я знаю, обновление до Symfony3 и создание рабочего процесса gulp - это дело, но сейчас мне нужно придерживаться Symfony2. – seiseises

ответ

4

Я, наконец, нашел решение. Кажется, что autoprefixer больше не является автономным инструментом, а плагином для других инструментов, поэтому способ, которым он пытался использовать его (с двоичным кодом), недействителен.

Таким образом, вместо autoprefixer, решение было установить autoprefixer-cli, неофициальный двоичный код, который обращается к «устаревшему» коду.

sudo npm install autoprefixer-cli --save 

И затем указывая на это двоичное значение в parameters.yml. В моем случае:

assetic: 
    autoprefixer: 
     bin: %kernel.root_dir%/../node_modules/autoprefixer-cli/autoprefixer-cli 
+0

Ницца! Я боялся, что мне нужно использовать autoprefixer <= 2.2.0 (последняя версия имеет «двоичный» в '.bin'). – flu