ไฟล์คงที่ บีบอัดเพื่อประสิทธิภาพ ปัจจุบันต้องใช้ Rust ทุกคืน
ในตัวอย่างนี้ เราใช้มาโครเพื่อประเมินเส้นทาง ณ เวลาคอมไพล์ โดยสัมพันธ์กับไฟล์ต้นฉบับ ในโหมดแก้ไขข้อบกพร่อง ไฟล์จะถูกโหลดขณะรันไทม์ ในโหมดรีลีส ไฟล์จะถูกฝัง (และบีบอัดอย่างเหมาะสม) ลงในไบนารีที่คอมไพล์แล้ว
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 หรือ "lossless" ค่าเริ่มต้น 90) ได้รับอนุญาตภายใต้ข้อใดข้อหนึ่ง
ตามตัวเลือกของคุณ
เว้นแต่คุณจะระบุไว้เป็นอย่างอื่นอย่างชัดเจน การสนับสนุนใดๆ ที่ส่งโดยเจตนาเพื่อรวมไว้ในผลงานของคุณ ตามที่กำหนดไว้ในใบอนุญาต Apache-2.0 จะต้องได้รับใบอนุญาตแบบคู่ตามที่กล่าวไว้ข้างต้น โดยไม่มีข้อกำหนดหรือเงื่อนไขเพิ่มเติมใดๆ