使用命名资产的 Symfony 和 assetic cssrewrite 过滤器

Symfony and assetic cssrewrite filter using named assets

我在使用 assetic 和使用命名资产 cssrewrite 过滤器时遇到问题。我在 assets.yml 中定义了一个命名资产,如下所示:

assetic:
  assets:
    mycssfiles:
      inputs:
        - 'bundles/mybundle/css/mystyles.css'

在我的树枝模板中,我将此资产与 css重写过滤器一起使用:

{% stylesheets '@mycssfiles' output='css/styles.css' filter="cssrewrite" %}
    <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}

使用此配置,css 的结果对于 css 文件中包含的图像有一个不正确的 url。但是,如果我不使用命名资产,它会正常工作,并且图像的 url 会被正确重写。此代码工作正常:

{% stylesheets 'bundles/mybundle/css/mystyles.css' output='css/styles.css' filter="cssrewrite" %}
    <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}

cssrewrite 过滤器是否不适用于命名资产?我知道它不适用于 @AppBundle 语法,但我不知道它是否不适用于命名资产或者我做错了什么。

我 post 我的 conf for fontawesome,我希望这对你有帮助:) :

# Assetic Configuration
assetic:
    debug: "%kernel.debug%"
    use_controller: false
    bundles :       [AppBundle]
    java: /usr/bin/java
    filters:
        cssrewrite: ~
    assets:
    font_awesome:
        inputs:
            - "bundles/app/bower_components/components-font-awesome/css/font-awesome.min.css"
        filters:
            - cssrewrite

树枝部分

    {% stylesheets filter='cssrewrite'
            '@font_awesome'
    %}
    <link rel="stylesheet" href="{{ asset_url }}" type="text/css" media="all"/>
    {% endstylesheets %}