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 Punkte nicht auf Sie zutreffen, ist Ihr Workflow für die Ausführung von Lighthouse im Wesentlichen derselbe. Eine Übersicht über die neuen Funktionen finden Sie unter Das neue Lighthouse 3.0. Funktionen und Änderungen.
Aufrufänderungen
Lighthouse berechnet jetzt standardmäßig die simulierte Leistung und die Drosselung wurde verstärkt 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 |
Leistungsüberprüfungen durchführen | --perf |
--preset=perf |
Gemischte Inhaltsprüfung durchführen | --mixed-content |
--preset=mixed-content |
Knotenmodul
In Lighthouse v3 akzeptiert das Knotenmodul dieselben Konfigurationsoptionen wie die Befehlszeile. Dies ist ein funktionsgefährdende Änderung, da viele dieser Optionen in v2 ignoriert wurden, auf die Funktionsweise von Lighthouse auswirken.
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);
}
Änderungen an der Ausgabe
Neues Top-Level-Format in der JSON-Ausgabe
Das von Lighthouse v3 zurückgegebene JSON-Objekt enthält jetzt drei Top-Level-Properties:
lhr
Die Ergebnisse der Audits Abkürzung für „Lighthouse Results“. Das war im Grunde der -Objekt der obersten Ebene in v2. Version 3 beinhaltet jedoch auch funktionsgefährdende Änderungen an der Form dieses Objekts. Weitere Informationen finden Sie unter Änderungen am Ergebnisobjektartifacts
Die Daten, die während der Prüfung in Chrome erhoben werden. Bisher waren diese Daten mit den Eigenschaften der LHR vermischt.report
: Der formatierte Bericht im HTML-/JSON-/CSV-Format als String.
Änderungen am Ergebnisobjekt
Wie unter Neues Top-Level-Format in der JSON-Ausgabe erwähnt, sind die Ergebnisse der Audits nun
verfügbar über die Property lhr
. In Version 2 waren die Inhalte dieses Objekts im Wesentlichen
Top-Level-JSON-Ausgabe. Die Form dieses Objekts hat sich in Version 3 jedoch geändert. In der Tabelle unten
werden alle Änderungen aufgelistet.
- Wenn eine Zeile sowohl in der Spalte v2 als auch in der Spalte v3 einen Wert hat, bedeutet das, dass Sie alle Verweise auf die v2-Eigenschaft in Ihrem Code durch das v3-Äquivalent ersetzen sollten.
- Enthält eine Zeile in der Spalte v3 keinen Wert, beschreibt die Spalte Notes Ihre Optionen.
- Elemente wie ID stellen Platzhaltertext dar.
v2-Property | v3-Äquivalent | Hinweise |
---|---|---|
initialUrl |
requestedUrl |
|
url |
finalUrl |
|
generatedTime |
fetchedTime |
|
reportCategories |
categories |
Wurde von einem Array zu einem codierten Objekt 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 |
Punktzahlen sind immer eine Zahl zwischen 0 und 1 (nicht 0–100), wenn scoreDisplayMode
numerisch oder binär. 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 .
|