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

时间:2014-09-26 08:00:15

标签: php symfony assetic

有没有办法合并所有 *。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?

2 个答案:

答案 0 :(得分:2)

我不认为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 %}

答案 1 :(得分:0)

你可以使用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 %}