我正在嘗試在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