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 。 |