Mingyu Kim

8주차 프론트엔드 챌린지: Next/Nuxt 기반의 고성능 랜딩 페이지 목업 구현

챌린지에 대한 자세한 내용은 가이드를 참고하세요.

week8

25.11.14 - 이미지 렌더링 방식 개선

기본 img 태그 대신 Next.js에서 제공하는 Image 컴포넌트를 사용하면 로딩을 최적화하여 LCP(Largest Contentful Paint)를 줄일 수 있다. Image 컴포넌트를 사용한 코드를 보자.

<Image
  src="/images/1981-digital-bMWHu8wU1Vk-unsplash.jpg"
  alt="Here background image"
  fill
  priority
/>

Image 컴포넌트가 자동으로 수행하는 최적화는 다음과 같다.

Next.js에서 이미지 프록시 역할도 해주고 있다.

25.11.15 - 폰트 최적화

Next.js에서 제공하는 next/font 모듈을 사용하여 폰트를 최적화할 수 있다.

import { Noto_Sans_KR } from "next/font/google";

const notoSansKr = Noto_Sans_KR({
  subsets: ["latin"],
  weight: ["400", "700"],
});

notoSansKr.className을 특정 요소의 className에 추가하면 된다.

<body className={notoSansKr.className}>{children}</body>

이 모듈을 사용해서 얻는 이점은 다음곽 같다.