Lighthouse v3-migratiehandleiding

Deze handleiding is bedoeld voor Lighthouse v2-gebruikers die:

  • Voer Lighthouse uit vanaf Node of vanaf de opdrachtregel.
  • Vertrouw op de JSON-uitvoer van Lighthouse.

Als deze niet op u van toepassing zijn, is uw workflow voor het uitvoeren van Lighthouse grotendeels hetzelfde. Zie Aankondiging van Lighthouse 3.0 voor een overzicht van nieuwe functies en wijzigingen.

Aanroep verandert

Lighthouse berekent nu standaard gesimuleerde prestaties en de instellingen voor beperking zijn sterk gewijzigd.

CLI-vlaggen

Scenario v2 vlaggen v3 vlaggen
DevTools 3G-throttling Geen (standaardgedrag) --throttling-method=devtools
Geen throttling --disable-network-throttling --disable-cpu-throttling --throttling-method=provided
Netwerkbeperking, geen CPU-beperking --disable-cpu-throttling --throttling-method=devtools --throttling.cpuSlowdownMultiplier=1
Voer prestatie-audits uit --perf --preset=perf
Voer audits voor gemengde inhoud uit --mixed-content --preset=mixed-content

Knooppuntmodule

In Lighthouse v3 accepteert de Node-module dezelfde configuratie-opties als de CLI. Dit is een baanbrekende verandering in de zin dat veel van deze opties in versie 2 werden genegeerd, terwijl ze nu feitelijk van invloed zijn op de manier waarop Lighthouse werkt.

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);
}

Uitvoerwijzigingen

Nieuw formaat op het hoogste niveau in JSON-uitvoer

Het JSON-object dat Lighthouse v3 retourneert, bevat nu drie eigenschappen op het hoogste niveau:

  • lhr . De resultaten van de audits. Afkorting van "Lighthouse Resultaten". Dit was in wezen het object op het hoogste niveau in v2, maar v3 introduceert ook belangrijke veranderingen in de vorm van dit object. Zie Wijzigingen in het resultaatobject .
  • artifacts . De gegevens die tijdens de audit uit Chrome worden verzameld. Dit was voorheen vermengd met de eigenschappen van de LHR.
  • report . Het opgemaakte rapport HTML/JSON/CSV als tekenreeks.

Wijzigingen in het resultaatobject

Zoals vermeld in Nieuw topniveauformaat in JSON-uitvoer zijn de resultaten van audits niet beschikbaar via de eigenschap lhr . In v2 was de inhoud van dit object in wezen de JSON-uitvoer op het hoogste niveau. De vorm van dit object zelf is echter veranderd in v3. In onderstaande tabel staan ​​alle wijzigingen vermeld.

  • Als een rij een waarde heeft in zowel v2- als v3- kolommen, betekent dit dat u elke verwijzing naar de v2-eigenschap in uw code moet vervangen door het v3-equivalent.
  • Wanneer een rij geen waarde heeft in de v3- kolom, beschrijft de kolom Opmerkingen uw opties.
  • Houd er rekening mee dat items zoals ID tijdelijke tekst vertegenwoordigen.
v2 eigendom v3-equivalent Opmerkingen
initialUrl requestedUrl
url finalUrl
generatedTime fetchedTime
reportCategories categories Gewijzigd van array naar een ingetoetst object.
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 Mogelijke waarden zijn uitgebreid naar numeric|binary|manual|informative|not-applicable|error .
audits. ID .score audits. ID .score Scores zijn altijd een getal tussen 0 en 1 (niet 0-100) wanneer scoreDisplayMode numeriek of binair is. Scores zijn altijd null voor andere weergavemodi, omdat er geen sprake is van slagen/mislukken.
audits. ID .displayValue audits. ID .displayValue Kan nu een array van argumenten in printf-stijl zijn voor stringinterpolatie.
audits. ID .debugString audits. ID .explanation audits. ID .errorMessage audits. ID .warnings debugString waarden zijn geconverteerd naar een van de drie bovenstaande eigenschappen, afhankelijk van hun bedoeling.
audits. ID .details audits. ID .details De structuur van de details is verschoven, zodat deze beter te gebruiken is. Elk item in .items is een object met betrouwbare sleutels in plaats van 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 VERWIJDERD. Gebruik in plaats daarvan details .