2013-04-08 2 views
1

Я использовал this guide для добавления yui_compressor в мой проект symfony. Но это не создание мини-файлов. Ниже приведены настройки, которые я применил, пожалуйста, взгляните и скажите мне, что может пойти не так. Config FileYui_compressor не работает в symfony 2

// Added this to the config.yml file in app/config (and yes, I'm on a mac) 
    yui_css: 
     jar: "%kernel.root_dir%/Resources/filter/java/yuicompressor-2.4.7.jar" 
     java: /usr/bin/java 

Base Twig

// Added this to the :base.html.twig in app/Resources/views 

    {% stylesheets filter='yui_css' output='public/css/compiled-main.css' 
     'public/css/main.css' 
    %} 

Добавлен файл в файл yui_compressor зип под билда к ресурсам фильтра/папку приложения// Java в моем симфони проекте

+0

Можете ли вы разместить полный код '{% stylesheets%}'? – cheesemacfly

+0

Вы пытались сбрасывать файлы активов с помощью 'php app/console assetic: dump --env = prod'? См. Http://symfony.com/doc/current/cookbook/assetic/asset_management.html#dumping-asset-files – dbrumann

ответ

8

1 - Загрузите и добавьте yuicompressor в свой проект

Распакуйте, перейдите к сборке/директории и e xtract yuicompressor-2.4.7.jar, чтобы поместить его в ваше приложение/Resources/java/project dir. (Кроме того, вы можете переименовать Юи файл yuicompressor.jar)

2 - Включить сжатие Yui для прода environement

Это логично добавить YUI компрессор в файл config_prod.yml, а не для всех среды (вы должны удалить строки из config.yml).

Так добавить тезисы линий в config_prod.yml:

assetic: 
    debug: false 
    filters: 
     yui_js: 
      jar: "%kernel.root_dir%/Resources/java/yuicompressor.jar" 
      apply_to: "\.js" 
     yui_css: 
      jar: "%kernel.root_dir%/Resources/java/yuicompressor.jar" 
      apply_to: "\.css" 

3 - Убедитесь, вы подталкивать контроллер файл

Перейти к веб/app.php и установить тычок/ложь (ложь для нет отлаживать).

$kernel = new AppKernel('prod', false); 

4 - Очистить кэш

Если вы хотите, чтобы восстановить ваш CSS и JS (после обновления), не забудьте очистить кэш в прод иначе изменения будут проигнорированы YUI Compressor:

php app/console cache:clear --env=prod --no-debug 

5 - Регенерация светильники со сжатием

Наконец, вы можете создавать и сжимать свои файлы!

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

Обратите внимание, что -v показать больше деталей о процессе сжатия, вы сможете увидеть, если есть ошибка TAHT вызывает проблемы с YUI компрессором!

Например, тег комментария JS "/!" вызывает проблемы с компрессором yui, вы должны переименовать все «/!» для «/ *» в ваших JS-файлах.

Это все ^^

+1

Обратите внимание, что компрессор YUI теперь заброшен (и не поддерживается) и что люди должны использовать другое решение, такое как UglyfyJS и CSS, как описано здесь: http: // symfony.com/doc/current/cookbook/assetic/uglifyjs.html – Sybio

+0

Sybio правильно, тот же конфиг не будет получен из config.yml, но он должен быть из config_prod.yml. Также убедитесь, что на вашем сервере установлена ​​java (проверка с помощью java -version из командной строки, чтобы увидеть, существует ли она). Спасибо Sybio. – Dung

Смежные вопросы