이 가이드는 다음과 같은 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 를 사용하세요.
|