【发布时间】:2013-10-20 15:20:43
【问题描述】:
我正在学习 Symfony 2,目前正在使用 Assetic 来管理我的 CSS 和 Javascript 文件,如下所示:
{% stylesheets '@testMainBundle/Resources/public/css/*' filter='cssrewrite' %}
<link rel="stylesheet" href="{{ asset_url }}" type="text/css" />
{% endstylesheets %}
{% javascripts '@testMainBundle/Resources/public/js/*' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
在 @testMainBundle/Resources/public/js 我有 3 个文件:bootstrap.min.js、jquery-1.10.2.min.js 和 main.js。但是,网页的源代码是这样的:
<script type="text/javascript" src="/app_dev.php/js/4a0d3cd_part_1_bootstrap.min_1.js"></script>
显然,Assetic 只提供该目录中的一个文件,即引导文件。我已经检查过了,它没有合并文件,只有正在输出的 bootstrap.min.js 文件。
不过,Assetic 可以很好地处理两个 CSS 文件。我尝试刷新浏览器缓存,但没有任何变化。
另外,作为一个附带问题,我如何确保 Assetic 在bootstrap.min.js 之前输出jquery-1.10.2.min.js? Bootstrap 依赖 jQuery,所以不能先打印出来。
【问题讨论】:
-
在
dev环境中,Symfony2 单独为每个文件提供服务以方便调试。 -
我知道,这不是问题所在。再次阅读问题。
-
也许你很清楚,但你没有在你的问题中谈论
dev和prod环境。你说我已经检查过了,它没有在包含/app_dev.php/js/的代码之后合并文件,这只是正常行为。