Dieser Leitfaden richtet sich an Nutzer von Lighthouse Version 2, die:
- Führen Sie Lighthouse über Node oder die Befehlszeile aus.
- Die JSON-Ausgabe von Lighthouse verwenden
Wenn dies nicht auf Sie zutrifft, ist Ihr Workflow zum Ausführen von Lighthouse größtenteils derselbe. Unter Lighthouse 3.0 finden Sie einen Überblick über die neuen Funktionen und Änderungen.
Aufrufänderungen
Lighthouse berechnet jetzt standardmäßig die simulierte Leistung und die Drosselungseinstellungen wurden stark geändert.
Befehlszeilen-Flags
Szenario | v2-Flags | v3-Flags |
---|---|---|
Entwicklertools – 3G-Drosselung | Keine (Standardeinstellung) | --throttling-method=devtools |
Keine Drosselung | --disable-network-throttling --disable-cpu-throttling |
--throttling-method=provided |
Netzwerkdrosselung, keine CPU-Drosselung | --disable-cpu-throttling |
--throttling-method=devtools --throttling.cpuSlowdownMultiplier=1 |
Leistungsüberprüfungen durchführen | --perf |
--preset=perf |
Gemischte Inhaltsprüfungen ausführen | --mixed-content |
--preset=mixed-content |
Knotenmodul
In Lighthouse v3 akzeptiert das Node-Modul die gleichen Konfigurationsoptionen wie die Befehlszeile. Dies ist eine funktionsgefährdende Änderung, da viele dieser Optionen in Version 2 ignoriert wurden. Jetzt wirken sie sich jedoch auf die Ausführung von Lighthouse aus.
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);
}
Ausgabeänderungen
Neues Top-Level-Format in der JSON-Ausgabe
Das JSON-Objekt, das Lighthouse v3 zurückgibt, enthält jetzt drei Attribute auf oberster Ebene:
lhr
: Die Ergebnisse der Audits. Abkürzung für „Lighthouse Results“. Dies war im Wesentlichen das übergeordnete Objekt in Version 2. In Version 3 wurden jedoch auch funktionsgefährdende Änderungen an der Form des Objekts vorgenommen. Weitere Informationen finden Sie unter Änderungen am Ergebnisobjekt.artifacts
. Die bei der Prüfung von Chrome erhobenen Daten. Dies wurde zuvor mit den Eigenschaften des LHR vermischt.report
: Der formatierte HTML-/JSON-Bericht/CSV-Bericht als String.
Änderungen am Ergebnisobjekt
Wie unter Neues Top-Level-Format in der JSON-Ausgabe erwähnt, sind die Ergebnisse der Prüfungen nicht über das Attribut lhr
verfügbar. In Version 2 war der Inhalt dieses Objekts im Wesentlichen die JSON-Ausgabe der obersten Ebene. Die Form des Objekts selbst hat sich in Version 3 jedoch geändert. In der folgenden Tabelle sind alle Änderungen aufgeführt.
- Wenn eine Zeile einen Wert in den Spalten v2 und v3 hat, bedeutet dies, dass Sie alle Verweise auf die V2-Property in Ihrem Code durch das v3-Äquivalent ersetzen müssen.
- Wenn eine Zeile in der Spalte v3 keinen Wert hat, werden Ihre Optionen in der Spalte Anmerkungen beschrieben.
- Beachten Sie, dass Elemente wie ID Platzhaltertext darstellen.
v2-Property | v3-Äquivalent | Hinweise |
---|---|---|
initialUrl |
requestedUrl |
|
url |
finalUrl |
|
generatedTime |
fetchedTime |
|
reportCategories |
categories |
Geändert von Array in ein verschlüsseltes Objekt. |
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 |
Mögliche Werte wurden auf numeric|binary|manual|informative|not-applicable|error erweitert.
|
audits.ID.score |
audits.ID.score |
Werte sind immer eine Zahl zwischen 0 und 1 (nicht 0 bis 100), wenn scoreDisplayMode numerisch oder binär ist. Bei anderen Anzeigemodi sind die Punktzahlen immer null , da es keine Erfolgs- oder Fehlfunktion gibt.
|
audits.ID.displayValue |
audits.ID.displayValue |
Kann jetzt ein Array mit Argumenten im printf-Stil für die Stringinterpolation sein. |
audits.ID.debugString |
audits.ID.explanation
audits.ID.errorMessage
audits.ID.warnings
|
debugString -Werte wurden je nach Absicht in eine der drei oben genannten Properties umgewandelt.
|
audits.ID.details |
audits.ID.details |
Die Struktur der Details hat sich geändert, um sie besser nutzbar zu machen. Jeder Eintrag in .items ist ein Objekt mit zuverlässigen Schlüsseln anstelle von 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 |
Entfernt. Verwenden Sie stattdessen details .
|