들어가며: 이미지 최적화가 필요한 이유

웹 성능에서 이미지는 가장 큰 비중을 차지하는 요소 중 하나이다. 최적화되지 않은 이미지는 다음과 같은 문제를 일으킬 수 있다 :

  1. 느린 페이지 로딩 시간
  2. 불필요한 대역폭 사용
  3. 레이아웃 이동 (CLS)
  4. 모바일 사용자 경험 저하

Next.js의 Image 컴포넌트

Next.js는 성능과 사용자 경험을 향상시키기 위해 이미지 최적화(Image Optimization) 기능을 제공한다. 이는 이미지 파일의 크기를 줄이고, 다양한 기기와 화면 해상도에 맞는 이미지를 자동으로 생성하여 로드 시간을 줄이고 웹사이트를 더 빠르게 만든다.

기본 사용법

import Image from 'next/image'

function Hero() {
  return (
    <Image
      src="/hero.jpg"
      alt="Hero image"
      width={1200}
      height={600}
      priority
    />
  )
}

주요 속성

  1. src:

    // next.config.ts
    module.exports = {
      images: {
        domains: ['example.com', 'another-domain.com'], // 허용할 도메인
      },
    };
    
  2. widthheight:

  3. layout:

  4. placeholder:

  5. priority:

예시

1. 제품 갤러리