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 ü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 Version 2 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);
}
Ausgabeänderungen
Neues Top-Level-Format in der JSON-Ausgabe
Das JSON-Objekt, das von Lighthouse Version 3 zurückgegeben wird, enthält jetzt drei Attribute der obersten Ebene:
lhr
Die Ergebnisse der Audits Abkürzung für „Lighthouse Results“. Das war im Grunde der -Objekt der obersten Ebene in v2, aber in Version 3 wurden auch wichtige Änderungen an der Form dieses Objekts vorgenommen. Weitere Informationen finden Sie unter Änderungen am Ergebnisobjektartifacts
Die Daten, die während der Prüfung in Chrome erhoben werden. Dies wurde zuvor vermischt mit den Eigenschaften des LHR.report
Der formatierte HTML-/JSON-/CSV-Bericht 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 .
|