我正在尝试在Symfony 2项目中使用Assetic。我在我的config.yml以下设置:以调试模式连接的资产资产集合
# app/config/config.yml
assetic:
debug: %kernel.debug%
use_controller: true
filters:
cssrewrite: ~
yui_css:
jar: /home/testing/bin/yuicompressor-2.4.7.jar
less:
node: /usr/bin/node
node_paths: [/usr/local/bin/]
apply_to: "\.less$"
assets:
all_js:
inputs:
- @FoundationViewBundle/Resources/public/js/*
filters: [?yui_js]
all_css:
inputs:
- @FoundationViewBundle/Resources/public/css/*
filters: [less, ?yui_css]
(在你想知道的情况下,这些设置不会被覆盖在config_dev.yml文件。)
这些藏品是由Assetic回升并为他们创建路线。每个文件都有一个单独的路径,其中包含一个数字和文件名,不带文件扩展名。例如,对于“base.css”文件,下载文件的路径(应用了过滤器)为“/ assetic/all_css_part_1_base_1”。
然后我包括我的嫩枝模板中的资源集合如下:
{% stylesheets '@all_css' %}
<link rel="stylesheet" type="text/css" media="screen" href="{{ asset_url }}">
{% endstylesheets %}
(并且类似的“all_js”收藏,但我会用CSS侧面来证明我的问题)
Twig呈现我的模板时,它不使用为各个文件创建的路线,而是将“all_css”集合的“asset_url”显示为“/css/9118a5a_part_1.css”。
我正在使用dev前端控制器,并测试了Assetic认为它处于调试模式。 (仅适用于生产型过滤器。)但是,尽管文档有其他说明,但文件仍在串联。
由于行号不匹配,因此很难追查这些文件中的问题,特别是对于JavaScript错误。为了让Twig分别显示文件,是否还有其他事情需要我去做?
我曾希望使用此模板作为一个捆绑包的一部分,该捆绑包可以导入到多个项目并根据项目配置包含正确的资产。如果我将资产直接放在模板中,那么它不会以这种方式重用。 (如果没有其他方法,我想我可以将资产包含在块中并使用特定于项目的模板覆盖它们。) – restouffer