2011-11-06 2 views
3

Я использую assetic на Symfony 2, и я сжимаю все свои файлы CSS и JS благодаря YUI. ВСЕ работает отлично, но в среде prod у меня есть несколько вызовов для загрузки всех сжатых файлов. На самом деле, я думал, что assetic может объединить все файлы CSS (и файлы JS), чтобы иметь только один вызов уникального файла (один для CSS, другой для JS), и что для каждой страницы это возможно?Объединяя файлы, чтобы иметь только один вызов для всех файлов CSS с Assetic на Symfony 2

Документы не найдены ... У вас есть идея? Спасибо!

ответ

4

Как описано в documentation, вы также можете объединить несколько файлов в один. Это помогает сократить количество HTTP-запросов, что отлично подходит для производительности переднего конца.

Вы просто должны использовать этот синтаксис:

{% javascripts 
    '@AcmeFooBundle/Resources/public/js/*' 
    '@AcmeBarBundle/Resources/public/js/form.js' 
    '@AcmeBarBundle/Resources/public/js/calendar.js' 
%} 
<script src="{{ asset_url }}"></script> 
{% endjavascripts %} 
+0

На самом деле я сделал это, но я забыл «(0000 биты полномочий)» на мой файл app.php и очистки кэша только для прод среды, поэтому у меня было несколько вызовов: s Теперь он отлично работает после приложения php app/console: dump --env = prod и php app/console cache: clear --env = prod --no-debug, спасибо! – Sybio

2

Для объединения CSS файлов в один в Dev среде

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

Чтобы увидеть объединенный файл служил при запросе страницы

// app_dev.php 
$kernel = new AppKernel('dev', false); 
// Setting the second parameter to false turns of debugging 

Убедитесь, что вы объединяете активы

{% javascripts 
    '@AcmeFooBundle/Resources/public/js/*' 
    '@AcmeBarBundle/Resources/public/js/form.js' 
    '@AcmeBarBundle/Resources/public/js/calendar.js' 
%} 
<script src="{{ asset_url }}"></script> 
{% endjavascripts %} 

То же следует для производственной среды

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