Próbuję użyć Assetic w projekcie Symfony 2. Mam następujące ustawienia w moim config.yml:Assetic Asset Collection Concatenated w trybie debugowania
# 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]
(W przypadku, gdy zastanawiasz się, te ustawienia nie są zastępowane w pliku config_dev.yml.)
zbiory te są zbierane przez Assetic i trasy są dla nich tworzone. Istnieją osobne trasy dla każdego pliku z numerem i nazwą pliku bez rozszerzenia pliku. Na przykład dla pliku "base.css" trasa do pobrania pliku (z zastosowanymi filtrami) to "/ assetic/all_css_part_1_base_1".
Potem obejmują zbiory atutem w moim szablonu Twig następująco:
{% stylesheets '@all_css' %}
<link rel="stylesheet" type="text/css" media="screen" href="{{ asset_url }}">
{% endstylesheets %}
(. I podobnie do „all_js” kolekcji, ale użyję bok css do wykazania mój problem)
Gdy Twig wyświetla mój szablon, nie używa tras utworzonych dla poszczególnych plików, ale wyświetla "asset_url" dla kolekcji "all_css" jako "/css/9118a5a_part_1.css".
Używam kontrolera frontowego dev i przetestowałem, że Assetic wierzy, że jest w trybie debugowania. (Filtry tylko do produkcji nie są stosowane.) Jednak pliki są nadal łączone, mimo że dokumentacja sugeruje inaczej.
Bardzo trudno jest wykryć problemy w tych plikach, ponieważ numery linii nie pasują, szczególnie w przypadku błędów JavaScript. Czy jest coś jeszcze, co muszę zrobić, aby Twig wyświetlał pliki osobno?
Miałem nadzieję, że wykorzystam ten szablon jako część pakietu, który można zaimportować do kilku projektów i dołączyć odpowiednie zasoby w oparciu o konfiguracje projektów. Jeśli umieściłbym zasoby bezpośrednio w szablonie, nie będzie można tego użyć ponownie. (Sądzę, że mógłbym umieścić włączenie aktywów w blokach i zastąpić je szablonem specyficznym dla projektu, jeśli nie ma innego sposobu). – restouffer