LCP는 사용자가 처음 페이지로 이동한 시점을 기준으로 표시 영역에 표시되는 가장 큰 이미지 또는 텍스트 블록의 렌더링 시간을 보고합니다.출처
<img>
요소 (첫 번째 프레임 프레젠테이션 시간은 GIF, 애니메이션 PNG와 같은 애니메이션 콘텐츠에 사용됨)<svg>
요소 내의 <image>
요소<video>
요소 (포스터 이미지 로드 시간 또는 동영상의 첫 프레임 프레젠테이션 시간 사용 중 더 빠른 시간 적용)[url()](https://developer.mozilla.org/docs/Web/CSS/url())
함수를 사용하여 로드된 배경 이미지가 있는 요소(CSS 그라데이션과 반대)콘텐츠가 포함된 최대 페인트 | Lighthouse | Chrome for Developers
너무 많은 지연 로드가 성능에 미치는 영향 | Articles | web.dev
위폴드 영역의 이미지 레이지 로드 없애기
렌더링 차단 리소스 제거 | Lighthouse | Chrome for Developers
렌더링 차단 리소스의 영향을 줄이는 첫 번째 단계는 중요한 것과 그렇지 않은 것을 식별하는 것
next.config.js에 필요 없는 데이터 줄이는 코드 작성
if (!isServer) {
// 클라이언트 사이드에서만 필요하지 않은 polyfill을 제거
config.resolve.alias['@polyfill'] = false;
}
// moment.js 로케일 중에 필요한 것만 포함
config.plugins.push(new webpack.ContextReplacementPlugin(/moment[/\\]locale$/, /ko|en/));
사용하지 않는 자바스크립트 삭제하기 | Lighthouse | Chrome for Developers
next.config.js
에서 module을 설정해주어 불필요한 JS제거 필요하다는 사실을 깨달았다.