如何在Assetic中使用Compass和Yui CSS的过滤器



我有两个文件,一个是.css(在vendor/somevendor/ssomelibrary/css/内部),另一个是.scs(在@ProjectMainBundle/Resources/public/css/内)。

我希望用Sass过滤器将.scs编译成.css,然后用Yui过滤器缩小两个.css文件。我尝试过不同的变体:

    {% stylesheets
        '%kernel.root_dir%/../vendor/somevendor/somelibrary/css/somelibrary.css'
        '@ProjectMainBundle/Resources/public/css/*'
        filter='compass,yui_css' %}
        <link rel="stylesheet" type="text/css" media="screen" href="{{ asset_url }}" />
    {% endstylesheets %}

问题是Sass过滤器也被应用于.css文件,该文件会引发缩进错误。

在我的config.yml中,我添加了相应的"apply_to"参数,但没有帮助:

    # Assetic Configuration
    assetic:
            debug:          %kernel.debug%
            use_controller: false
            bundles:        [ProjectMainBundle]
            #java: /usr/bin/java
            filters:
                    cssrewrite: ~
                    #closure:
                    #    jar: %kernel.root_dir%/Resources/java/compiler.jar
                    sass:
                            bin: /usr/local/bin/sass        
                            apply_to: ".scss$"
                    compass:
                            bin: /usr/local/bin/compass
                            apply_to: ".scss$"
                    yui_css:
                            jar: %kernel.root_dir%/../vendor/yahoo/yui-compressor/build/yuicompressor-2.4.7.jar
                            apply_to: ".css$"
                    yui_js:
                            jar: %kernel.root_dir%/../vendor/yahoo/yui-compressor/build/yuicompressor-2.4.7.jar
                            apply_to: ".js$"

那么我该怎么做呢?我不想有超过1个结果.css.

找到它:https://github.com/kriswallsmith/assetic/issues/101

删除"filter=compass,yui_css"部分。

最新更新