Lighthouse v3 이전 가이드

이 가이드는 다음과 같은 Lighthouse v2 사용자를 대상으로 합니다.

  • Node 또는 명령줄에서 Lighthouse를 실행합니다.
  • Lighthouse의 JSON 출력을 사용합니다.

이러한 사항이 적용되지 않는 경우 Lighthouse를 실행하는 워크플로는 거의 동일합니다. 새로운 기능과 변경사항에 대한 개요는 Lighthouse 3.0 발표를 참고하세요.

호출 변경사항

Lighthouse는 이제 기본적으로 시뮬레이션된 성능을 계산하며 제한 설정이 크게 변경되었습니다.

CLI 플래그

시나리오 v2 플래그 v3 플래그
DevTools 3G 제한 없음(기본 동작) --throttling-method=devtools
제한 없음 --disable-network-throttling --disable-cpu-throttling --throttling-method=provided
네트워크 제한, CPU 제한 없음 --disable-cpu-throttling --throttling-method=devtools --throttling.cpuSlowdownMultiplier=1
실적 감사 실행 --perf --preset=perf
혼합 콘텐츠 감사 실행 --mixed-content --preset=mixed-content

노드 모듈

Lighthouse v3에서 Node 모듈은 CLI와 동일한 구성 옵션을 허용합니다. v2에서는 이러한 옵션 중 다수가 무시되었지만 이제는 Lighthouse의 실행 방식에 실제로 영향을 미친다는 점에서 브레이킹 체인지입니다.

const fs = require('fs');
const lighthouse = require('lighthouse');
async function run() {
  // `onlyCategories` was previously only available as a config setting.
  // `output` was previously only available in CLI.
  const flags = {onlyCategories: ['performance'], output: 'html'};
  const html = (await lighthouse('https://google.com/', flags)).report;
  fs.writeFileSync('report.html', html);
}

출력 변경사항

JSON 출력의 새로운 최상위 형식

이제 Lighthouse v3에서 반환하는 JSON 객체에는 다음 세 가지 최상위 속성이 포함됩니다.

  • lhr 감사 결과입니다. 'Lighthouse 결과'의 줄임말입니다. 이는 기본적으로 v2의 최상위 객체였지만 v3에서는 이 객체의 도형에도 중대한 변경사항이 도입되었습니다. 결과 객체 변경사항을 참고하세요.
  • artifacts 감사 중에 Chrome에서 수집된 데이터입니다. 이전에는 LHR의 속성과 혼합되었습니다.
  • report. 형식이 지정된 보고서 HTML/JSON/CSV를 문자열로 나타냅니다.

결과 객체 변경사항

JSON 출력의 새로운 최상위 형식에서 언급했듯이 감사 결과는 lhr 속성을 통해 사용할 수 없습니다. v2에서는 이 객체의 콘텐츠가 기본적으로 최상위 JSON 출력입니다. 그러나 v3에서는 이 객체의 모양이 변경되었습니다. 아래 표에 모든 변경사항이 나열되어 있습니다.

  • 행에 v2 열과 v3 열에 모두 값이 있는 경우 코드에서 v2 속성에 대한 모든 참조를 v3 등가 항목으로 바꿔야 합니다.
  • 행의 v3 열에 값이 없으면 Notes 열에 옵션이 설명됩니다.
  • ID와 같은 항목은 자리표시자 텍스트를 나타냅니다.
v2 속성 v3-Equivalent 참고
initialUrl requestedUrl
url finalUrl
generatedTime fetchedTime
reportCategories categories 배열에서 키가 지정된 객체로 변경되었습니다.
reportGroups categoryGroups
audits.ID.name audits.ID.id
audits.ID.description audits.ID.title
audits.ID.helpText audits.ID.description
audits.ID.scoringMode audits.ID.scoreDisplayMode 가능한 값이 numeric|binary|manual|informative|not-applicable|error로 확장되었습니다.
audits.ID.score audits.ID.score scoreDisplayMode가 다음과 같을 때 점수는 항상 0과 1 사이의 숫자 (0~100 아님)입니다. 숫자 또는 2진수입니다. 점수는 다른 디스플레이 모드의 경우 항상 null입니다. 통과/실패의 개념입니다.
audits.ID.displayValue audits.ID.displayValue 이제 문자열 보간을 위한 printf 스타일 인수 배열이 될 수 있습니다.
audits.ID.debugString audits.ID.explanation audits.ID.errorMessage audits.ID.warnings debugString 값은 의도에 따라 위의 세 가지 속성 중 하나로 변환되었습니다.
audits.ID.details audits.ID.details 세부정보 구조가 더 사용하기 쉽도록 변경되었습니다. .items의 각 항목 는 any[] 대신 신뢰할 수 있는 키가 있는 객체입니다.
audits.ID.error audits.ID.scoreDisplayMode === 'error'
audits.ID.notApplicable audits.ID.scoreDisplayMode === 'not-applicable'
audits.ID.informative audits.ID.scoreDisplayMode === 'informative'
audits.ID.manual audits.ID.scoreDisplayMode === 'manual'
audits.ID.extendedInfo 삭제되었습니다. 대신 details를 사용하세요.