minicdn
1.0.0
효율성을 위해 압축된 정적 파일입니다. 현재 Rust nightly가 필요합니다.
이 예에서는 매크로를 사용하여 컴파일 타임에 소스 파일을 기준으로 경로를 평가합니다. 디버그 모드에서는 파일이 런타임에 로드됩니다. 릴리스 모드에서는 파일이 컴파일된 바이너리에 포함되고 적절하게 압축됩니다.
let files : MiniCdn = release_include_mini_cdn ! ( "./path/to/public/files/" ) ;
let html = files . get ( "index.html" ) . unwrap ( ) ;
// 32 byte digest of the file.
let _ = html . etag ;
// Last modified time as string, in UNIX seconds.
let _ = html . last_modified ;
// MIME type string.
let _ = html . mime ;
// Raw HTML bytes.
let _ = html . contents ;
// HTML compressed with Brotli, if it is more efficient.
let _ = html . contents_brotli ;
// HTML compressed with GZIP, if it is more efficient.
let _ = html . contents_gzip ;
let image = files . get ( "images/foo.png" ) . unwrap ( ) ;
// Raw PNG bytes.
let _ = image . contents ;
// WebP bytes (if WebP is more efficient).
let _ = image . contents_webp ;
모든 필드( contents
제외)는 기본적으로 비활성화되어 있지만 해당 기능 플래그로 활성화할 수 있습니다.
런타임 시 압축 수행과 같은 다른 옵션에 대해서는 설명서를 확인하세요.
구성 파일을 사용하여 압축을 사용자 정의하기 위한 실험적 지원이 있습니다. some_image.png
라는 이미지가 있는 경우 some_image.minicdn
이라는 새 파일에 다음을 배치하여 WebP 품질 수준을 조정할 수 있습니다.
webp_quality = 75.0
다음 옵션을 사용할 수 있습니다.
brotli_level
(1-11, 기본값 9)brotli_buffer_size
(바이트, 기본값 4096)brotli_large_window_size
(기본값 20)gzip_level
(1-9, 기본값 9)webp_quality
(0-100 또는 "무손실", 기본값 90) 다음 중 하나에 따라 라이선스가 부여됨
귀하의 선택에 따라.
귀하가 명시적으로 달리 명시하지 않는 한, Apache-2.0 라이선스에 정의된 대로 귀하가 저작물에 포함하기 위해 의도적으로 제출한 기여는 추가 이용약관 없이 위와 같이 이중 라이선스가 부여됩니다.