Next.js의 Image 컴포넌트를 활용한 자동 이미지 최적화

웹사이트의 성능은 사용자 경험에 중요한 역할을 하며, 그 중 이미지 최적화는 페이지 로딩 속도를 크게 향상시킬 수 있는 핵심 요소입니다. 이미지는 흔히 웹페이지의 대부분의 데이터를 차지하는데, 이는 LCP(Largest Contentful Paint) 성능에 큰 영향을 미칩니다. Next.js는 이 문제를 해결하기 위해 Image 컴포넌트('next/image')를 제공합니다. 이 컴포넌트는 기존 HTML <img> 태그를 확장하여 자동 이미지 최적화 기능을 포함하고 있습니다.


Image 컴포넌트는 다양한 기능을 제공하는데요. 그 중 하나는 이미지의 사이즈를 자동으로 최적화하여 해당 장치에 맞게 조정해줍니다. 또한, 이 컴포넌트는 최신 이미지 포맷인 WebP와 AVIF를 지원합니다. 예를 들어, 2MB의 JPEG 파일을 약 20KB의 WebP 이미지로 자동 변환 됩니다. (magic)


이러한 최적화는 내부적으로 이미지 최적화 모듈을 사용하여 이루어집니다. 그리고 최적화 모듈에서는 이미지 최적화 라이브러리가 사용하는데요. Next.js는 기본적으로 개발 환경에 적합합 Squoosh 라이브러리를 사용합니다. 하지만 Production 레벨에서는 Sharp 라이브러리의 사용을 강력히 권장합니다. Sharp는 Squoosh보다 성능이 약 3~6배 빠르기 때문에, 더 빠른 이미지 처리가 가능합니다.


또한, Image 컴포넌트는 레이지 로딩(Lazy Loading)을 지원하여, 이미지는 페이지의 뷰포트(Viewport)에 들어갈 때만 로드됩니다. 이 기능은 페이지의 로딩 속도를 향상시킵니다.


또, 이미지의 로딩으로 인한 레이아웃 이동을 방지하는 기능도 제공되며, 이는 웹페이지의 시각적 안정성을 유지하는 데 도움이 됩니다.


따라서, Next.js 프로젝트에서 이미지 최적화를 진행하려는 경우, img 태그 대신 Image 컴포넌트의 사용 및 Sharp 라이브러리의 사용을 권고 드립니다.



https://oliveyoung.tech/blog/2023-06-09/nextjs-image-optimization/

NEXT.JS의 이미지 최적화는 어떻게 동작하는가? | 올리브영 테크블로그

올리브영이 커뮤니티와 콘텐츠를 만드는 진짜 이유 | 올리브영 테크블로그

NEXT.JS의 이미지 최적화는 어떻게 동작하는가? | 올리브영 테크블로그

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 10월 29일 오전 2:30

 • 

저장 75조회 4,114

댓글 2

함께 읽은 게시물

애니를 봐도 개발 생각뿐

"개발은 스스로 생각하고 탐구할 때가 가장 즐거우니까"

... 더 보기

DB 프로시저 싫어하시는 분들 많으시죠? Lambda/Serverless Function 이라고 생각해보십시오! 사실상 Serverless Function이랑 똑같은 것. Serverless Function도 싫어하시면 린정.

조회 2,055


파이썬으로 만든 매우 작은 검색엔진 microsearch

h

... 더 보기

GitHub - alexmolas/microsearch

GitHub

GitHub - alexmolas/microsearch

< 쿠팡의 창업자를 직접 보며 배운 것: 리더의 크기가 전부다 >

1

... 더 보기

 • 

댓글 1 • 저장 11 • 조회 1,237


< 💡 Spring Rest Docs 로 Swagger API 문서 관리 자동화 > 💬 Spring Rest Docs 란? Spring REST Docs 는 RESTful 서비스의 문서화를 도와주는 도구이다. 문서 작성 도구로 Asciidoctor 를 기본적으로 사용하며, 이것을 통해 HTML 문서를 생성한다. 필요한 경우 Markdown 문법을 사용하도록 변경할 수 있다. RESTful API를 문서화 할때 중요한 포인트는 API 에서 필요한 HTTP 요청과 응답의 리소스를 설명하는 것인데 Spring REST Docs 를 사용할 경우 테스트 코드를 작성하여 이러한 리소스와 HTTP 요청/응답에 대한 세부 내용을 문서화하는데 편리한 기능을 제공한다. 💬 Swagger 란? RESTful API 를 약속된 규칙에 따라 json 이나 yaml 형식으로 문서화한 Open API Specification(OAS) 라는게 있는데 이 문서를 관리하기위한 목적으로 만들어진 프레임워크다. API 문서 자동화 도구로 Spring REST Docs 의 비교군으로 자주 등장하는데 Spring 을 사용할 경우 서비스 코드에 어노테이션... 더 보기

[NHN FORWARD 2020] MSA 환경에서 API 문서 관리하기: 생성부터 배포까지

www.youtube.com

[NHN FORWARD 2020] MSA 환경에서 API 문서 관리하기: 생성부터 배포까지