我在Symfony 2上使用资产,并且由于YUI,我压缩了所有的CSS和JS文件。 ALL完美运行,但在prod环境中,我有多个调用来加载每个压缩文件。事实上,我认为资产可以将所有CSS文件(和JS文件)组合在一起,只能调用一个唯一的文件(一个用于CSS,另一个用于JS),而且对于每个页面,它是否可能?
我找不到关于它的文档...... 有个主意吗? 谢谢!
答案 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 %}
生产环境也是如此