Closed hyeyoonS closed 4 months ago
라이트하우스란? 웹페이지 품질 개선을 위해 다양한 메트릭으로 성능, 접근성, SEO, PWA, 권장사항 등을 측정하는 자동화 도구
라이트하우스로 측정할 수 있는 성능 메트릭들
FCP : First Contentful Paint 사용자가 웹페이지로 이동했을때 브라우저가 DOM의 첫번째 컨텐츠를 렌더링하는데 걸리는 시간
LCP : Largest Contentful Paint 뷰포트에서 가장 큰 콘텐츠요소가 화면에 렌더링 될 때까지 걸리는 시간
TBT : Total Blocking Time 웹페이지가 사용자 입력에 응답하지 못하도록 차단된 시간 (로딩중 같이 메인스레드가 긴시간 중단되어 응답을 받을수 없던 시간)
CLS : Cumulative Layout Shift 이미지/광고의 느린 로딩, 동적 DOM 변경으로 웹페이지의 레이아웃이 얼마나 변하는지 측정
SI : Speed Index 웹페이지를 불러올때 컨텐츠가 시각적으로 표시되는데 걸리는 시간
라이트하우스(Lighthouse)는 웹 애플리케이션의 성능, 접근성, 최적화 상태 등을 분석하고 개선할 수 있는 오픈 소스 도구입니다. Google에서 개발한 이 도구는 웹 페이지의 품질을 평가하고, 다양한 지표를 통해 웹 페이지의 상태를 종합적으로 파악할 수 있도록 도와줍니다.
성능 분석
접근성 분석
베스트 프랙티스(Best Practices)
SEO(Search Engine Optimization)
PWA(Progressive Web App)
📎 질문
라이트하우스에 대해서 설명해주세요.
✏ 구술 답변 키워드
✏ 서술 답변
Lighthouse란
Lighthouse 워크플로우
const chrome = await chromeLauncher.launch({chromeFlags: ['--headless']}); const options = {logLevel: 'info', output: 'html', onlyCategories: ['performance'], port: chrome.port}; const runnerResult = await lighthouse('https://example.com', options);
//
.report
is the HTML report as a string const reportHtml = runnerResult.report; fs.writeFileSync('lhreport.html', reportHtml);//
.lhr
is the Lighthouse Result as a JS object console.log('Report is done for', runnerResult.lhr.finalDisplayedUrl); console.log('Performance score was', runnerResult.lhr.categories.performance.score * 100);chrome.kill();