3

在我的 Symfony2 项目的主布局页面中,我有 CSS 和 JavaScript 的资产块,如下所示:

{% block stylesheets %}
    {% stylesheets
        'bundles/my_bundle/css/main.css'
        'bundles/my_bundle/css/additional.css'
        'bundles/my_bundle/css/new.css'
        filter='cssrewrite'
        output='css/packed/layout_default.css'
    %}
    <link type="text/css" rel="stylesheet" href="{{ asset_url }}" />
    {% endstylesheets %}
{% endblock %}

{% block javascripts %}
    {% javascripts
        'bundles/my_bundle/js/main.js'
        'bundles/my_bundle/js/additional.js'
        'bundles/my_bundle/js/extra.js'
        output='js/packed/layout_default.js'
    %}
    <script type="text/javascript" src="{{ asset_url }}"></script>

    {% endjavascripts %}
{% endblock %}

还有其他文件包含这些块,因为该项目是启用了多主题的项目。

最近(没有改变任何与资产相关的东西)我注意到当我这样做时

app/console assetic:dump

该命令最初会暂停大约 10 秒,就好像它正在重建缓存或其他东西一样,然后开始转储文件。所有 .js 文件都正确转储,所有非默认主题的 css 文件。

但是,有时上述块中的 css 文件没有被转储,我发现解决这个问题的唯一方法是编辑我的布局页面并删除样式表块中的一个 css 文件,运行转储命令,添加样式表重新进入,然后重新运行命令。完成此操作后,后续的资产:转储正常运行,尽管仍处于初始暂停状态。

有没有人经历过类似的行为,或者有没有人有任何关于我可以在哪里进一步解决这个问题的指示?

4

1 回答 1

8

有时我只对资产集合进行输出名称等小的更改时遇到类似的行为......

然而,在转储之前清除缓存总是为我解决了这个问题。

因此我总是执行:

app/console cache:clear --no-warmup && assetic:dump --no-debug

s ca:c在我的 zshrc 中将其别名为。

正如我在此答案中提到的,我建议您在 config.yml(或导入的文件)中使用预配置的资产集合。这确实压缩了您的模板并使它们更具可读性。

于 2013-07-19T13:12:46.380 回答