>웹 프론트엔드 >JS 튜토리얼 >Django의 js/css 압축 구성 요소 Django Compressor

Django의 js/css 압축 구성 요소 Django Compressor

高洛峰
高洛峰원래의
2016-11-24 09:31:551657검색

웹사이트 로딩 속도를 높이려면 일반적으로 더 많은 js와 css를 압축해야 합니다. 이러한 js 및 css 압축 작업을 모두 수동으로 처리하면 시간이 많이 걸리고 힘든 작업이 됩니다.

Django Compressor는 js/css의 자동 압축을 실현할 수 있습니다. Django Compressor는 사용 편의성 측면에서 매우 훌륭하며 설명서에 따라 간단한 설정만 하면 정상적으로 작동할 수 있습니다. 모든 사람이 문서 전체를 읽는 것이 좋습니다(문서는 매우 짧습니다).

사용시 압축태그에 css/js만 넣어주시면 Django Compressor가 자동으로 처리해줍니다. 디버그 모드에서 Django Compressor는 아무 작업도 수행하지 않습니다. 비디버그 모드에서 Django Compressor는 자동으로 js/css를 압축하고 압축된 문제를 Django의 STATIC_ROOT 디렉터리에 출력합니다. 따라서 STATIC_ROOT 디렉토리가 올바르게 설정되어 있는지 확인하십시오.

{% 로드 압축 %}
{% 압축 [ [block_name]] %}
<인라인 또는 링크된 JS/CSS의 HTML> ;
{% endcompress %}

{% CSS 압축 %}
endcompress %}

coffeescript, less 지원

개발 단계에서 Coffeescript 및 less는 js를 사용하여 직접 처리할 수 있으며, 공식적으로 출시되면 js 및 css로 미리 컴파일해야 합니다. 로딩 속도 때문에요. Django Compressor는 유형에 따라 전처리를 수행하기 위해 COMPRESS_PRECOMPILERS 설정을 제공합니다.

COMPRESS_PRECOMPIILERS = (
('text/coffeescript', 'coffee --compile --stdio'),
('text/less', 'lessc {infile} {outfile}') ,
('text/x-sass', 'sass {infile} {outfile}'),
('text/x-scss', 'sass --scss {infile} {outfile}'),
)

개발 단계에서 커피스크립트 등을 덜 일반적으로 사용하려면 개발 단계에서 해당 js 파일을 도입해야 하며, 비개발 환경에서는 자동으로 닫혀야 합니다. 아쉽게도 Django Compressor는 관련 설정을 제공하지 않습니다. 이를 위해 템플릿에서 django 설정을 가져오는 tagget_setting을 작성했습니다. 이 태그는 내 다른 프로젝트인 django-helper에 포함되어 있습니다.

{% get_setting "COMPRESS_ENABLED" "" "COMPRESS_ENABLED" %}
{% if not COMPRESS_ENABLED %}

{% endif %}


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.