使用 assetic 将 scss 和 css 文件分组到一个文件中

Group scss and css files into one file with assetic

在 Symfony2 项目中,我有几个 cssscss 文件。我使用 compass 过滤器转储 scss 过滤器,并将 cssrewrite 应用于所有过滤器:

{% stylesheets 
filter='compass, cssrewrite'
'scssFile1.scss'
'scssFile2.scss' %}
<link rel="stylesheet" href="{{ asset_url }}"/>
{% endstylesheets %}

{% stylesheets 
filter='cssrewrite'
'cssFile1.css'
'cssFile2.css' %}
<link rel="stylesheet" href="{{ asset_url }}"/>
{% endstylesheets %}

我想将这些文件合二为一。我试过:

{% stylesheets 
filter='compass, cssrewrite'
'scssFile1.scss'
'scssFile2.scss'
'cssFile1.css'
'cssFile2.css' %}
<link rel="stylesheet" href="{{ asset_url }}"/>
{% endstylesheets %}

但是我在执行 assetic:dump 时遇到错误,因为 css 文件没有 scss 扩展名。 有什么方法可以将 scsscss 文件合并为一个文件吗?

如果您想合并具有不同扩展名的文件,您需要在 Assetic 过滤器配置中指定它,特别是 apply_to 参数。尝试像 this example 中那样修改,其中他们使用正则表达式(这样你就可以玩弄它)。例如,要使用 .scss 和 .sass 扩展名:

assetic:
    filters:
        compass:
            apply_to:   "\.s[ac]ss$"