2

我的捆绑包中Resources有一个名为的目录vendor,其中包含 JavaScript 库等。其中一些供应商包含图像。

我可以使用以下资产导入 css/less/js 文件:

assetic:
    assets:
        flot:
            inputs:
                - @MyBundle/Resources/vendor/flot/jquery.flot.js
                - @MyBundle/Resources/vendor/flot/jquery.flot.time.js
            filters:
                - ?yui_js

但是,如果供应商包含图像,我不知道如何将它们放入web/目录中。

我宁愿不手动对它们进行符号链接。

4

1 回答 1

3

Assetic 的资产集合如

assetic:
    assets:
        collection_name:
            inputs:
                 - ...
            output: 
                 - desired_filename # relative to assetic.output_path
            filters:
                 - ?lessphp          # scss, optipng, jpegoptim ... whatever
                                     # the ? (question mark) prevents the 
                                     # filter to be applied in dev mode 

也可以包含图像。但你必须一一指定

assetic:
    assets:

        [...] 

        my_image:
            inputs:
                 - /path/to/image/image.png
            output: 
                 - images/smushed_image.png  
            filters:
                 - optipng    

        my__second_image:
            inputs:
                 - /path/to/image/image2.jpg
            output: 
                 - images/smushed_image2.jpg
            filters:
                 - jpegoptim       

然后使用assetic:dump 命令将它们写入(并编译/ smushed)到您的Web 文件夹。--no-debug 选项可防止assetic 为每个包中的每个文件创建调试文件。用于生产系统或如果您有其他调试方式(即令人敬畏的Source Maps

app/console assetic:dump --no-debug

使用这样的包:

 {% stylesheets '@collection_name' %}
     <link rel="stylesheet" type="text/css" href="{{ asset_url }}" />
 {% endstylesheets %}

或者

 {% image '@my_image' %}
     <img src="{{ asset_url }}" alt="Example"/>
 {% endimage %}
于 2013-05-22T12:02:13.553 回答