我在我的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/
目录。
我不想手动对它们进行符号链接。
答案 0 :(得分: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命令将它们写入(并编译/刷新)到您的Web文件夹。 --no-debug选项可防止资产为每个包中的每个文件创建调试文件。用于生产系统或者如果您有其他调试方式(即令人敬畏的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 %}