我在 Symfony 2 上使用assetic,感谢 YUI,我压缩了所有的 CSS 和 JS 文件。ALL 完美运行,但在 prod 环境中,我有多个调用来加载每个压缩文件。事实上,我认为assetic可以组合所有CSS文件(和JS文件)来只调用一个唯一文件(一个用于CSS,另一个用于JS),并且对于每个页面,这可能吗?
我没有找到有关它的文档...有想法吗?谢谢 !
我在 Symfony 2 上使用assetic,感谢 YUI,我压缩了所有的 CSS 和 JS 文件。ALL 完美运行,但在 prod 环境中,我有多个调用来加载每个压缩文件。事实上,我认为assetic可以组合所有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 %}
生产环境也一样