Ten przewodnik jest przeznaczony dla użytkowników Lighthouse w wersji 2, którzy:
- Uruchom Lighthouse z poziomu Node lub wiersza poleceń.
- Polegaj na danych wyjściowych JSON z Lighthouse.
Jeśli żadna z tych sytuacji Cię nie dotyczy, przepływ pracy przy uruchamianiu Lighthouse jest taki sam. Informacje o nowych funkcjach i zmianach znajdziesz w artykule Ogłoszenie Lighthouse 3.0.
Zmiany wywołania
Lighthouse domyślnie oblicza teraz symulowaną wydajność, a ustawienia ograniczania zostały znacznie zmienione.
Flagi interfejsu wiersza poleceń
| Scenariusz | Flagi w wersji 2 | Flagi v3 | 
|---|---|---|
| Ograniczanie przy użyciu Narzędzi deweloperskich do 3G | Brak (zachowanie domyślne) | --throttling-method=devtools | 
| Bez ograniczania | --disable-network-throttling --disable-cpu-throttling | --throttling-method=provided | 
| Ograniczanie wykorzystania sieci, bez ograniczania wykorzystania procesora | --disable-cpu-throttling | --throttling-method=devtools --throttling.cpuSlowdownMultiplier=1 | 
| Przeprowadzanie audytów wydajności | --perf | --preset=perf | 
| Przeprowadzaj audyty treści mieszanych | --mixed-content | --preset=mixed-content | 
Moduł węzła
W Lighthouse w wersji 3 moduł Node akceptuje te same opcje konfiguracji co interfejs wiersza poleceń. Jest to zmiana istotna, ponieważ wiele z tych opcji było ignorowanych w wersji 2, a teraz będą miały wpływ na działanie Lighthouse.
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);
}
Zmiany wyjściowe
Nowy format najwyższego poziomu w danych wyjściowych w formacie JSON
Obiekt JSON zwracany przez Lighthouse w wersji 3 zawiera teraz 3 właściwości najwyższego poziomu:
- lhrwyniki audytów; Skrót od „Lighthouse Results” (wyniki Lighthouse). W wersji 2 był to obiekt najwyższego poziomu, ale w wersji 3 wprowadzono też zmiany powodujące niezgodność kształtu tego obiektu. Zapoznaj się ze zmianami w obiekcie wyników.
- artifactsDane zebrane z Chrome podczas kontroli. Wcześniej były one pomieszane z właściwościami LHR.
- reportSformatowany raport HTML/JSON/CSV w postaci ciągu znaków.
Zmiany w obiekcie wyników
Jak wspomniano w artykule Nowy format najwyższego poziomu w wyjściowym pliku JSON, wyniki audytów nie są dostępne w przypadku właściwości lhr. W wersji 2 zawartość tego obiektu była w podstawie wyjściowym plikiem JSON najwyższego poziomu. Jednak kształt tego obiektu zmienił się w wersji 3. Tabela poniżej zawiera wszystkie zmiany.
- Jeśli wiersz zawiera wartość zarówno w kolumnach v2, jak i v3, oznacza to, że każde odwołanie do właściwości v2 w kodzie należy zastąpić odpowiednikiem wersji v3.
- Gdy wiersz nie ma wartości w kolumnie v3, dostępne są informacje w kolumnie Uwagi.
- Pamiętaj, że elementy takie jak ID reprezentują tekst zastępczy.
| Usługa w wersji 2 | v3-Odpowiednik | Uwagi | 
|---|---|---|
| initialUrl | requestedUrl | |
| url | finalUrl | |
| generatedTime | fetchedTime | |
| reportCategories | categories | Zmieniono z tablicy na obiekt z kluczem. | 
| 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 | Możliwe wartości zostały rozszerzone do numeric|binary|manual|informative|not-applicable|error | 
| audits.ID.score | audits.ID.score | Wyniki są zawsze liczbą z zakresu od 0 do 1 (a nie 0–100), gdy scoreDisplayModejest liczbą lub binarną. Wyniki są zawszenulldla innych trybów wyświetlania, ponieważ nie ma żadnej
      pojęcie pozytywny lub niezadowalający. | 
| audits.ID.displayValue | audits.ID.displayValue | Może teraz być tablicą argumentów w formacie printf do interpolacji ciągu znaków. | 
| audits.ID.debugString | audits.ID.explanationaudits.ID.errorMessageaudits.ID.warnings | Wartości debugStringzostały przekonwertowane na jedną z 3 właściwości wymienionych powyżej w zależności od ich zamiaru. | 
| audits.ID.details | audits.ID.details | Struktura szczegółów uległa zmianie, aby łatwiej było korzystać z urządzeń. Każdy wpis w .itemsjest obiektem z kluczami niezawodnymi zamiastany[]. | 
| 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 | Usunięto. Użyj w zamian zasady details. |