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에서 노드 모듈은 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 Results'의 줄임말 이는 기본적으로 v2에서는 최상위 객체였지만 v3에서는 이 객체의 모양에 브레이킹 체인지가 발생합니다. 결과 객체 변경사항을 참고하세요.
  • artifacts. 감사 중에 Chrome에서 수집된 데이터입니다. 이전에는 이 점이 LHR의 속성과 뒤섞여 있었습니다.
  • report. 형식이 지정된 보고서 HTML/JSON/CSV입니다(문자열).

결과 객체 변경사항

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

  • 행의 v2 열과 v3 열에 값이 모두 있는 경우 코드에서 v2 속성에 대한 참조를 v3에 상응하는 값으로 바꿔야 합니다.
  • 행의 v3 열에 값이 없는 경우 Notes 열에 옵션이 설명되어 있습니다.
  • ID와 같은 항목은 자리표시자 텍스트를 나타냅니다.
v2 속성 v3-상응 Notes
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이 숫자 또는 2진수인 경우 점수는 항상 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를 사용하세요.