Symfony Assetic将所有文件合并为一个文件


Symfony Assetic Merge all files in one

有什么方法可以合并所有*.css文件吗?例如,使用本机Symfony Assitic Manager将多个布局合并为一个文件。

示例:

**base.html.twig**    
{% block stylesheets %}
      {% stylesheets   filter='cssrewrite,uglifycss' output='css/compiled/main.css'
      'bundles/sscore/bootstrap/css/bootstrap.css' %}
      <link rel="stylesheet" href="{{ asset_url }}"/>
      {% endstylesheets %}
{% endblock %}
**index.html.twig extends base.html.twig**    
{% block stylesheets %}
      {{ parent() }}
      {% stylesheets   filter='cssrewrite,uglifycss' output='css/compiled/main.css'
      'bundles/sscore/main.css' %}
      <link rel="stylesheet" href="{{ asset_url }}"/>
      {% endstylesheets %}
{% endblock %}

在prod-env中,这个例子给了我两个文件,但我想要一个meged?

我不认为Assetic做了你想做的事。

我认为将这些文件放在一个文件中最简单的方法是将父文件包括在样式表列表中,并覆盖父块,如。。

**index.html.twig extends base.html.twig**     
{% block stylesheets %}
    {% stylesheets filter='cssrewrite,uglifycss' output='css/compiled/main.css'
        'bundles/sscore/bootstrap/css/bootstrap.css'
        'bundles/sscore/main.css'
        %}
        <link rel="stylesheet" href="{{ asset_url }}"/>
    {% endstylesheets %}
{% endblock %}

您可以使用scssphp,但需要安装(scssphp)。

{% stylesheets filter="scssphp" output="styles/css/default_g.css"
    "https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.css"
    "styles/css/myfileone.css"
    "styles/css/myfileone2.css"
    "styles/css/main.css"
    "styles/css/myfile.css"
%}
<link rel="stylesheet" href="{{ asset('styles/css/default_g.css') }}" />
{% endstylesheets %}