2011-08-02 5 views
4

Assetic 번들이 작동하는 이유를 이해하는 데 어려움이 있습니다. 불행히도 공식 문서가 너무 길지 않습니다.Assetic 번들 이해하기

정적 경로와 URL을 다루는 방식에 어떤 이점도 보이지 않습니다. 라고 말하면

{{ asset("bundles/mybundle/css/main.css") }} 

은 "/bundles/mybundle/css/main.css"로 번역됩니다. 그냥 '/'로 시작하는거야? 하지만 수동으로 할 수 있습니다. Django의 STATIC_DIR과 같은 것으로는 적어도 모든 정적 파일이 존재하고 정적 루트 디렉토리로 사용되는 장소를 지정합니다.

그리고

{% stylesheets '@MyBundle/Resources/public/css/main.css' %} 
    <link rel="stylesheet" href="{{ asset_url }}" type="text/css" media="all" /> 
{% endstylesheets %} 

<link rel="stylesheet" href="/app_dev.php/css/618ab99_main_1.css" type="text/css" media="all" /> 

과 같이된다 그러나 그것은 당신의 레이아웃에 어떤 유연성을 추가하지 않습니다 - 당신은 여전히 ​​정적의 파일 이름이 변경 얻을 때 레이아웃 파일을 편집해야합니다. 그리고 여전히 HTML "link"태그를 수동으로 작성해야합니다.

Sf2 콘솔을 사용하여 웹/디렉토리에서 번들의 공용 폴더에 대한 심볼릭 링크를 생성 할 수 있다는 사실을 고려할 때, 나는 Assetic 작동 방식이 다소 모호하다는 것을 알게됩니다. 나는 뭔가를 놓친다는 것을 확신합니다. 그래서 누군가가 저를 위해서 그 것을 밝힐 수 있기를 바랍니다. 감사.

답변

4

하나의 스크립트를 사용하면 효과가별로 없습니다.

을하지만 당신이 그들을 제공하기 전에 (또는 어디에서 그들을로드) 원하는 그러나 Assetic, 당신은 이러한 자산을 조작 할 수 있습니다 : Assetic 관리는 다른 장점을 보유하고 있습니다. 다음은 당신이 할 수있는 의미뿐만 아니라 더있다

Minify and combine all of your CSS and JS files 
Run all (or just some) of your CSS or JS files through some sort of compiler, such as LESS, SASS or CoffeeScript 
Run image optimizations on your images 

, 당신은 더 적은 요청을 결합하여 필터링 등의 URL, 캐시, 내가 좋아하는

Resource

을 제어 할 수 있습니다 : p