将文件组合在一起,只对Symfony 2上的Assetic所有CSS文件进行一次调用

时间:2011-11-06 13:35:05

标签: javascript css symfony assetic

我在Symfony 2上使用资产,并且由于YUI,我压缩了所有的CSS和JS文件。 ALL完美运行,但在prod环境中,我有多个调用来加载每个压缩文件。事实上,我认为资产可以将所有CSS文件(和JS文件)组合在一起,只能调用一个唯一的文件(一个用于CSS,另一个用于JS),而且对于每个页面,它是否可能?

我找不到关于它的文档...... 有个主意吗? 谢谢!

2 个答案:

答案 0 :(得分: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 %}

答案 1 :(得分:2)

将css文件合并到开发环境中的一个

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 %}

生产环境也是如此