Dieser Leitfaden richtet sich an Nutzer von Lighthouse Version 2, die:
- Führen Sie Lighthouse über Node oder die Befehlszeile aus.
- Verlassen Sie sich auf die JSON-Ausgabe von Lighthouse.
Wenn diese nicht auf Sie zutreffen, ist der Workflow zum Ausführen von Lighthouse größtenteils der gleiche. Eine Übersicht der neuen Funktionen und Änderungen finden Sie unter Das neue Lighthouse 3.0.
Aufrufänderungen
Lighthouse berechnet jetzt standardmäßig die simulierte Leistung und die Einstellungen für die Drosselung wurden stark geändert.
Befehlszeilen-Flags
Szenario | V2-Flags | v3-Flags |
---|---|---|
Entwicklertools – 3G-Drosselung | Keine (Standardverhalten) | --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 |
Leistungsanalysen ausführen | --perf |
--preset=perf |
Audits für gemischte Inhalte ausführen | --mixed-content |
--preset=mixed-content |
Knotenmodul
In Lighthouse v3 werden für das Node-Modul dieselben Konfigurationsoptionen wie für die Befehlszeile akzeptiert. Dies ist eine gravierende Änderung, da viele dieser Optionen in Version 2 ignoriert wurden, während sie jetzt tatsächlich Auswirkungen auf die Ausführung von Lighthouse haben.
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 Top-Level-Eigenschaften:
lhr
Die Ergebnisse der Audits Abkürzung für „Lighthouse Results“. Das war im Wesentlichen das oberste Objekt in Version 2. In Version 3 gibt es jedoch auch funktionsgefährdende Änderungen an der Form dieses Objekts. Siehe Änderungen am Ergebnisobjekt.artifacts
Die Daten, die während der Prüfung in Chrome erhoben werden. Bisher waren diese mit den Eigenschaften der LHR vermischt.report
Der formatierte HTML-/JSON-/CSV-Bericht als String.
Änderungen am Ergebnisobjekt
Wie im Artikel Neues Top-Level-Format in der JSON-Ausgabe erwähnt, sind die Ergebnisse von Audits nicht mehr über die Property lhr
verfügbar. In Version 2 war der Inhalt dieses Objekts im Wesentlichen die JSON-Ausgabe der obersten Ebene. Die Form dieses Objekts hat sich jedoch in Version 3 geändert. In der folgenden Tabelle sind alle Änderungen aufgeführt.
- Wenn eine Zeile sowohl in der Spalte v2 als auch in der Spalte v3 einen Wert hat, sollten Sie alle Verweise auf die V2-Property in Ihrem Code durch das V3-Äquivalent ersetzen.
- Wenn für eine Zeile in der Spalte v3 kein Wert vorhanden ist, werden in der Spalte Hinweise Ihre Optionen beschrieben.
- Elemente wie ID stellen Platzhaltertext dar.
Property vom Typ „v2“ | v3-Äquivalent | Hinweise |
---|---|---|
initialUrl |
requestedUrl |
|
url |
finalUrl |
|
generatedTime |
fetchedTime |
|
reportCategories |
categories |
Wurde von einem Array in ein Objekt mit Schlüssel geändert. |
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 erweitert auf
numeric|binary|manual|informative|not-applicable|error
|
audits.ID.score |
audits.ID.score |
Wenn scoreDisplayMode numerisch oder binär ist, sind die Bewertungen immer eine Zahl zwischen 0 und 1 (nicht 0–100). Für andere Anzeigemodi sind Punktzahlen immer null , da es keine
ob Sie bestanden haben oder nicht.
|
audits.ID.displayValue |
audits.ID.displayValue |
Kann jetzt ein Array von printf-ähnlichen Argumenten für die Stringinterpolation sein. |
audits.ID.debugString |
audits.ID.explanation
audits.ID.errorMessage
audits.ID.warnings
|
debugString -Werte wurden in eine der drei oben genannten Eigenschaften konvertiert
abhängig von ihrer Absicht.
|
audits.ID.details |
audits.ID.details |
Die Struktur der Details hat sich verändert, sodass sie leichter nachvollziehbar sind. 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 .
|