5

assetic を自動的にコンパイルして.less ファイルを圧縮する方法はありますか?

私はこの設定を試しました:

assetic:
debug:          "%kernel.debug%"
use_controller: true
bundles:        ['BloggerBlogBundle', "FOSCommentBundle"]
#java: /usr/bin/java
filters:
    cssrewrite: ~
    less:
      node: /home/igor/nvm/v0.8.16/bin/node
      node_paths: [/home/igor/nvm/bin/node_modules]
      apply_to: "\.less$"
    yui_css:
      jar: %kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar
      apply_to: "\.css$|\.less"

ただし、これにより、.cssファイルが圧縮され、 .lessファイルがコンパイルされます。.less ファイルをコンパイルしてから圧縮するという、両方を行うことはできません。

4

1 に答える 1

9

.lessファイルを同時にコンパイルおよび圧縮するための設定と小枝のコードは次のとおりです。

config.yml

# Assetic Configuration
assetic:
    debug:          %kernel.debug%
    use_controller: false
    java: %java_path%
    filters:
        less:
            node:       %node_base_path%
            node_paths: [%node_lib_path%, %node_modules_path%]
        cssrewrite: ~
        yui_css:
            jar: %kernel.root_dir%%jar_file%
        yui_js:
            jar: %kernel.root_dir%%jar_file%

私の小枝で:

{% block stylesheets %}
    {% stylesheets
        '@MyBundle/Resources/public/css/event.less'
        'css/colorpicker.css'
        filter='less,?yui_css'
        output='build/event_layout_2cols.css'
    %}
        <link href="{{ asset_url }}" rel="stylesheet" media="screen" />
    {% endstylesheets %}
{% endblock %}

そして、コンパイルと圧縮の両方を行うコマンドは次のとおりです。

./app/console assetic:dump --env=prod --no-debug

お役に立てば幸いです。

于 2013-01-05T12:25:36.173 に答える