Azure静态Web应用是否支持next/image缓存?
Next.js next/image在Azure静态Web应用中缓存失效导致加载缓慢
我在Next.js应用中使用next/image的<Image>组件展示图片,图片能正常缩放至合适尺寸并转成AVIF/WebP优化格式,但生产环境加载速度极慢,服务器响应时长最高可达16秒——这个问题和原图的大小、格式无关。
在开发者工具的网络面板中禁用缓存后,多数图片请求的x-next-cache头值为MISS,说明图片并未从服务器缓存读取。我的部署环境是Azure静态Web应用,使用的Next.js版本为13.4.10,所有页面都是静态页面,未使用SSR。我已经在依赖中添加了sharp@^0.32.3,它能按需完成图片的缩放与优化工作。
开发环境中x-next-cache头值始终为STALE,我认为这是正常的设计行为。我反复查阅官方文档和相关问题,自己的代码实现和示例没有差异,但将项目部署到Vercel时,首次请求后缓存始终为HIT,完全符合预期。
想请教:这个问题是Azure静态Web应用本身的限制,还是我遗漏了某些必要配置?
组件代码
import Image from "next/image"; import myImage from '@/public/img/image1.jpg'; export const MySection = () => { return ( <section> <Image src={myImage} alt="" fill priority placeholder={"blur"} sizes="100vw" style={{ objectFit: "cover", objectPosition: "center", }} /> </section> ); };
曾配置的next.config.js(移除后无变化)
images: { formats: ["image/avif", "image/webp"], deviceSizes: [600, 900, 1200, 1536, 1920], }
内容的提问来源于stack exchange,提问作者Waleed Salama
相关产品推荐
相关产品推荐

