generateImageMetadata
您可以使用 generateImageMetadata
来生成同一图片的不同版本,或为一个路由段返回多张图片。当您希望避免硬编码元数据值(例如图标)时,这非常有用。
参数
generateImageMetadata
函数接受以下参数:
params
(可选)
一个包含动态路由参数的对象,该参数从根段向下传递到调用 generateImageMetadata
的段。
路由 | URL | params |
---|---|---|
app/shop/icon.js | /shop | undefined |
app/shop/[slug]/icon.js | /shop/1 | { slug: '1' } |
app/shop/[tag]/[item]/icon.js | /shop/1/2 | { tag: '1', item: '2' } |
app/shop/[...slug]/icon.js | /shop/1/2 | { slug: ['1', '2'] } |
返回值
generateImageMetadata
函数应返回一个包含图片元数据(如 alt
和 size
)的对象数组。此外,每个对象必须包含一个 id
值,该值将传递给图片生成函数的 props。
图片元数据对象 | 类型 |
---|---|
id | string (必填) |
alt | string |
size | { width: number; height: number } |
contentType | string |
示例
使用外部数据
此示例使用 params
对象和外部数据为一个路由段生成多张 Open Graph 图片。
版本历史
版本 | 变更 |
---|---|
v13.3.0 | 引入 generateImageMetadata 。 |