assetic : dump와 assets : 설치의 차이점
Symfony2에서의 차이 무엇 assetic:dump
과 assets:install
? 어떤 시나리오에서 어떤 시나리오에서 어떤 시나리오에서 (순서가 관련된 경우)?
실제로 최근에 쓴 당신은 다른 명령으로, 귀하가 흥미있을 이유 문맥 /의 일부를 원하는 경우 심포니 2를 기반으로 OroCRM에 대한 기사에서.
Symfony 애플리케이션에 전형적인 엔드 파일 (javascript, css, 이미지 등)을 포함하기위한 가지 시스템이 있습니다. assets:install
명령은 먼저왔다. 이 명령은 응용 프로그램의 모든 Symfony를 검색하여
Resources/public
폴더. 같은 경우 assets:install
명령은 파일을 Resources/public
로 복사하거나 링크합니다 web/public/bundle/[bundle-name]
. 여기에서 나뭇 가지 assets
기능으로 생성 된 링크 가있는 파일을 찾습니다. 이
<script src="{{ asset('js/script.js') }}" type="text/javascript"></script>
이것이된다
<script src="/bundles/[bundle-name]/js/script.js" type="text/javascript"></script>
그게 assets
시스템이하는 전부 입니다. 주문과 함께 사용하십시오.
assetic
시스템은 다르다. 를 사용하면 이와 assetic
같은 파일에 연결됩니다.
{% javascripts '@AcmeFooBundle/Resources/public/js/foo.js' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
스타일 시트 및 이미지에 대한 추천 태그가 있습니다. 공지 사항 assetic
에있는 파일에 대한 링크를 수 있는 파일에 . ( @AcmeFooBundle
). 자산을 사용하면 와일드 카드를 사용하여 폴더의 여러 파일에 수도 있습니다.
{% javascripts '@AcmeFooBundle/Resources/public/js/*' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
와 또 다른 차이점 assetic
은 생성 된 링크입니다. 에서 dev
환경은 다음과 같이 보일 것입니다.
<script type="text/javascript" src="/app_dev.php/js/foo.js"></script>
<script type="text/javascript" src="/app_dev.php/js/bar.js"></script>
즉, 파일에, 대한 이러한 요청 고객 app_dev.php
은 assetic
번들의 특수 경로 설정을 통해 PHP 프런트 컨트롤러 ( ) 통해를 실행됩니다 . 즉, dev
모드에 있을 때 자산을 사용할 필요가 없습니다. 자동으로 포함됩니다. 또한 파일에 필터를 적용 할 수도 있습니다. 예를 들어 다음 cssrewrite
은 파일에 필터를 적용합니다 .
{% stylesheets 'bundles/acme_foo/css/*' filter='cssrewrite' %}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
각 엔드 자산의 출력을 프로그래밍 방식으로 변경하려는 경우 assetic
사용자 지정 나뭇 가지 필터를 작성하면됩니다.
그러나 이것은 성능 집약적입니다. PHP 프론트 컨트롤러 파일을 통해 각 파일을 개별적으로 링크하는 대신 생성되는 HTML은 다음과 같습니다.
<script type="text/javascript" src="/js/as5s31l.js"></script>
어디 as5s31l.js
에서 왔습니까? 그것이 assetic:dump
명령이하는 일입니다. 그것은 결합 (필터를 적용한 후) 모든 인입 자바 펼쳐 놓고 / CSS 파일 및 생산을위한 좋은, 정적, 캐시 파일을 만듭니다.
해야 할 일
에서 특별히 달리 프로젝트 지시하지 않는 한 항상 assets:install
및을 실행해야 우리 assetic:dump
합니다. 그렇습니다. -mode assetic:dump
에서 애플리케이션을 배포하거나보기 전에 실행 하기 만하면 prod
됩니다. 순서는 무관합니다.
매혹에서하는 시스템에 대해 설명합니다. 내용을 읽었 위으며 어떤 assetic
작업을 수행 할 수 있는지 확실하지 않은 경우 assets
. 너는 괜찮아 질거다.
참고 URL : https://stackoverflow.com/questions/22873164/difference-between-asseticdump-and-assetsinstall
'IT' 카테고리의 다른 글
C에서 출구 (0)과 출구 (1)의 차이점은 무엇입니까? (0) | 2020.10.08 |
---|---|
Angular UI 모달의 범위 문제 (0) | 2020.10.08 |
Rx Observable에서 어떻게 ʻawait` 할 수 있습니까? (0) | 2020.10.08 |
{} 문을 사용하여 내부에서 반환을 호출하는 것이 좋은 방법입니까? (0) | 2020.10.08 |
Multiprocessing Queue, Pool 및 Locking을 사용하는 단순한 예 (0) | 2020.10.08 |