资产不会转储某些文件

tan*_*Gee 3 symfony twig assetic

在我的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 %}
Run Code Online (Sandbox Code Playgroud)

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

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

app/console assetic:dump
Run Code Online (Sandbox Code Playgroud)

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

但是,有时上面的块中的css文件没有被转储,我找到解决这个问题的唯一方法是编辑我的布局页面并删除样式表块中的一个css文件,运行dump命令,添加样式表回来,然后重新运行命令.执行此操作后,后续的assetic:转储正常运行,尽管仍处于初始暂停状态.

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

Nic*_*ich 8

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

但是,在转储之前清除缓存始终为我解决了问题.

因此我总是执行:

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

s ca:c在我的zshrc中别名.

我建议您在config.yml(或导入的文件)中使用预先配置的资产集合,如本答案中所述.这确实压缩了您的模板并使其更具可读性.