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

Combining files to have only a single call for all CSS files with Assetic on Symfony 2

本文关键字:文件 CSS 调用 一次 Symfony Assetic 组合      更新时间:2023-09-26

我在Symfony 2上使用asset,由于YUI,我压缩了所有的CSS和JS文件。所有工作完美,但在prod环境中,我有多个调用来加载每个压缩文件。事实上,我认为asset可以组合所有的CSS文件(和JS文件),只有一个调用一个唯一的文件(一个用于CSS,另一个用于JS),每个页面,这是可能的吗?

我找不到关于它的文档…有什么主意吗?谢谢!

就像文档中描述的那样,您也可以将多个文件合并为一个文件。这有助于减少HTTP请求的数量,这对前端性能很有好处。

你只需要使用这个语法:

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

用于在开发环境中将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 %}

生产环境