Tips
dev サーバーの挙動
Section titled “dev サーバーの挙動”astro dev では、全バリアントの圧縮完了を待たずに HTML を先に返す:
- キャッシュヒット: build と同様の最終マークアップ
- キャッシュミス:
devPlaceholder(既定: 元のsrc)による暫定マークアップを表示しつつ、Piscina でバックグラウンド圧縮を実行
関連するインテグレーション設定:
astroImageProcessor({ devConcurrency: 3, // dev 時の Piscina maxThreads(既定: 3) devReloadOnCompressComplete: false, // 圧縮完了後の full-reload(既定: false) componentProps: { devPlaceholder: 'source', // dev 時の暫定 src(既定: 'source') },});devReloadOnCompressComplete: falseのときは、ログに[aip] Dev compression completeが出たあと手動でリロードする- dev では
<link rel="preload">は出力されない(injectLinkは no-op)。スタイルはプレビュー用に body 内インラインで描画される。詳細は <InjectStyle /> を参照
複数のプロパティをまとめて指定する
Section titled “複数のプロパティをまとめて指定する”import type { ImgProcPictureComponentProps } from 'astro-image-processor/types';
export const templateObject: Pick< ImgProcPictureComponentProps, 'formats' | 'placeholder' | 'layout' | 'densities'> = { formats: ['avif', 'webp', 'png'], placeholder: 'dominantColor', layout: 'fullWidth', densities: [1, 2, 3],};---import Picture from 'astro-image-processor/components/Picture.astro';import { templateObject } from 'path/to/templates';---
<Picture src='/src/assets/images/foo.png' alt='Alt text' width={1000} height={500} {...templateObject}/>