我正在使用Symfony2编写应用程序,我有一种情况,我希望将所有CSS和Javascript资源组合在一起,并将它们包含在我的Twig模板中,以便最终只返回一个文件通过HTTP请求。
{% block stylesheets %}
{% stylesheets output='web/css/combined.css' combine=true
'@stylesheet1.css'
'@stylesheet2.css'
'@stylesheet3.css'
'@stylesheet4.css'
%}
{% endstylesheets %}
// PSEUDO
include 'combined.css'
// END PSEUDO
{% endblock %}
因此,我不想使用Assetic来组合文件然后引用它们,而是希望直接访问输出。所有CSS都在一个<style>
标记中,所有JS都在一个<script>
标记中。
有没有办法在不扩展现有库的情况下实现这一目标?
答案 0 :(得分:0)
为什么要直接访问组合资产?
事实上,这就是资产的作用:当在 dev 环境中时,每个样式表都有一个<style>
标记,而在 prod 中,它们都被组合在一起在单个.css文件中,因此使用单个<style>
。当然,javascript文件也是如此。
要使后者工作(在 prod 环境中),您需要手动转储它们:
php app/console assetic:dump --env=prod
看看dev / prod中的源HTML weh。我从未使用过combine
选项,而且no official Symfony 2 documentation about it。