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이 아님)입니다. 통과/실패 개념이 없으므로 다른 디스플레이 모드의 점수는 항상 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를 사용하세요.