2026-10-25 08:10:33
SvelteKit 图片处理最佳实践主要包括使用优化格式、适配不同设备、缓存管理,并通过 Vite 内置功能、@sveltejs/enhanced-img 插件或 CDN 动态加载实现性能提升。
图片优化核心原则
自动转换格式(如 .jpg → .webp)。
生成多尺寸图片并填充 srcset。
移除 EXIF 数据保护隐私。
自动设置 width/height 避免布局偏移。
全球分发减少延迟。
按需生成图片(如 Cloudinary 的 w_400,h_300 参数)。
@unpic/svelte:支持多家 CDN 提供商。
CMS 内置处理:Contentful、Storyblok 等。
Vite 内置处理:用于 <meta> 标签图片。
enhanced:img:主页大图。
CDN:用户上传内容。
指定 sizes:为响应式图片提供设备宽度提示。
<enhanced:img src="./image.png" sizes="min(1280px, 100vw)"/>自定义宽度:通过查询参数生成特定尺寸。
<enhanced:img src="./image.png?w=1280;640;400" sizes="(min-width:1920px) 1280px, 640px"/>优先级加载:对 LCP 图片设置 fetchpriority="high"。
<enhanced:img src="./lcp.jpg" alt="关键图片" fetchpriority="high" loading="eager"/>默认添加 width/height 避免 CLS。
自定义尺寸时用 CSS 覆盖:
<style> .custom-img { width: 100%; height: auto; }</style><enhanced:img src="./image.jpg" class="custom-img" alt="自定义" />提供 2x 原始分辨率(如显示宽度 400px → 提供 800px 图片)。
避免放大低分辨率图片。
完整文档参考: