IT

assetic : dump와 assets : 설치의 차이점

lottoking 2020. 10. 8. 07:28

assetic : dump와 assets : 설치의 차이점


Symfony2에서의 차이 무엇 assetic:dumpassets: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.phpassetic번들의 특수 경로 설정을 통해 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