画像の最適化
Web Almanac によると、画像は一般的なウェブサイトの ページ重量の大部分を占め、ウェブサイトの LCP パフォーマンス に大きな影響を与える可能性があります。
Next.js Image コンポーネントは、HTML の <img>
要素を拡張し、自動画像最適化のための機能を提供します:
- サイズの最適化: 各デバイスに対して適切にサイズ調整された画像を、WebP や AVIF といったモダンな画像フォーマットで自動的に提供します
- 視覚的安定性: 画像の読み込み時に自動で レイアウトシフト を防ぎます
- 高速なページ読み込み: ブラウザのネイティブな遅延読み込みを使用して、画像がビューポートに入ったときにのみ画像を読み込みます。また、オプションでぼかしプレースホルダーを使用できます
- 柔軟なアセット: リモートサーバーに保存された画像でもオンデマンドでサイズ変更が可能
🎥 視聴:
next/image
の使い方について詳しく学ぶ → YouTube (9 分間)。
使用方法
import Image from 'next/image'
その後、src
をローカルまたはリモートの画像として定義できます。
ローカル画像
ローカル画像を使用するには、.jpg
、.png
、または .webp
画像ファイルを import
します。
Next.js は、インポートしたファイルに基づいて、画像の width
と height
を自動的に決定します。これらの値 は画像比を決定し、画像の読み込み中に 累積レイアウトシフト を防ぐために使用されます。
app/page.js
import Image from 'next/image'
import profilePic from './me.png'
export default function Page() {
return (
<Image
src={profilePic}
alt="著者の画像"
// width={500} は自動的に提供されます
// height={500} は自動的に提供されます
// blurDataURL="data:..." は自動的に提供されます
// placeholder="blur" // 読み込み中のオプションのぼかし
/>
)
}