1

我正在学习 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.jsjquery-1.10.2.min.jsmain.js. 但是,网页的源代码如下:

<script type="text/javascript" src="/app_dev.php/js/4a0d3cd_part_1_bootstrap.min_1.js"></script>

显然,Assetic 只提供该目录中的一个文件,即引导文件。我已经检查过了,它没有合并文件,它只是bootstrap.min.js正在输出的文件。

然而,Assetic 可以很好地处理两个 CSS 文件。我尝试刷新浏览器缓存,但没有任何变化。

另外,作为一个附带问题,我如何确保 Asseticjquery-1.10.2.min.js之前的输出bootstrap.min.js?Bootstrap 依赖于 jQuery,所以不能先打印。

4

1 回答 1

1

找到了自己的解决方案,我必须执行以下操作:

{% javascripts
    '@testMainBundle/Resources/public/js/jquery-1.10.2.min.js'
    '@testMainBundle/Resources/public/js/*' %}
    <script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}

不确定 Assetic 是否被记录为以这种方式工作,但它似乎首先打印出 jQuery 包含,然后是所有其他文件。完美的!

于 2013-10-20T15:54:11.627 回答