Questa guida è rivolta agli utenti di Lighthouse v2 che:
- Esegui Lighthouse dal nodo o dalla riga di comando.
- Affidati all'output JSON di Lighthouse.
Se non si applica al tuo caso, il flusso di lavoro per l'esecuzione di Lighthouse è per lo più lo stesso. Consulta l'annuncio di Lighthouse 3.0 per una panoramica delle novità caratteristiche e modifiche.
Modifiche alla chiamata
Lighthouse ora calcola il rendimento simulato per impostazione predefinita e le impostazioni di limitazione sono state notevolmente modificate.
Flag dell'interfaccia a riga di comando
Scenario | Flag v2 | Flag v3 |
---|---|---|
Limitazione 3G di DevTools | Nessuno (comportamento predefinito) | --throttling-method=devtools |
Nessuna limitazione | --disable-network-throttling --disable-cpu-throttling |
--throttling-method=provided |
Limitazione della rete, nessuna limitazione della CPU | --disable-cpu-throttling |
--throttling-method=devtools --throttling.cpuSlowdownMultiplier=1 |
Esegui controlli delle prestazioni | --perf |
--preset=perf |
Esegui controlli su contenuti misti | --mixed-content |
--preset=mixed-content |
Modulo Node
In Lighthouse v3, il modulo Node accetta le stesse opzioni di configurazione dell'interfaccia a riga di comando. Si tratta di un nel senso che molte di queste opzioni venivano ignorate nella versione 2, mentre ora influisce effettivamente sul funzionamento di 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);
}
Modifiche all'output
Nuovo formato di primo livello nell'output JSON
L'oggetto JSON restituito da Lighthouse v3 ora contiene tre proprietà di primo livello:
lhr
. I risultati dei controlli. È l'abbreviazione di "Lighthouse Results". Si trattava essenzialmente dell'oggetto di primo livello nella versione 2, ma la versione 3 introduce modifiche che provocano un errore anche alla forma di questo oggetto. Consulta Modifiche all'oggetto risultati.artifacts
. I dati raccolti da Chrome durante il controllo. In precedenza si mescolavano con le proprietà dell'LHR.report
. Il report formattato in formato HTML/JSON/CSV come stringa.
Modifiche all'oggetto risultati
Come menzionato in Nuovo formato di primo livello nell'output JSON, i risultati dei controlli sono ora
disponibili tramite la proprietà lhr
. Nella versione v2, i contenuti di questo oggetto erano essenzialmente
un output JSON di primo livello. Tuttavia, la forma di questo oggetto è cambiata nella versione 3. La tabella riportata di seguito
elenca tutte le modifiche.
- Se una riga contiene un valore in entrambe le colonne v2 e v3, significa che È necessario sostituire qualsiasi riferimento alla proprietà v2 nel codice con l'equivalente v3.
- Quando una riga non contiene un valore nella colonna v3, la colonna Note descrive le tue opzioni.
- Tieni presente che elementi come ID rappresentano un testo segnaposto.
Proprietà v2 | Equivalente v3 | Note |
---|---|---|
initialUrl |
requestedUrl |
|
url |
finalUrl |
|
generatedTime |
fetchedTime |
|
reportCategories |
categories |
Passato da array a oggetto con chiave. |
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 |
I valori possibili sono stati espansi in
numeric|binary|manual|informative|not-applicable|error .
|
audits.ID.score |
audits.ID.score |
I punteggi sono sempre un numero compreso tra 0 e 1 (non tra 0 e 100) quando scoreDisplayMode è
numerico o binario. I punteggi sono sempre null per altre modalità di visualizzazione, in quanto non
nozione di superamento/successo.
|
audits.ID.displayValue |
audits.ID.displayValue |
Ora può essere un array di argomenti in stile Printf per l'interpolazione di stringhe. |
audits.ID.debugString |
audits.ID.explanation
audits.ID.errorMessage
audits.ID.warnings
|
debugString valori sono stati convertiti in una delle tre proprietà precedenti
a seconda delle intenzioni degli utenti.
|
audits.ID.details |
audits.ID.details |
La struttura dei dettagli è cambiata per essere più fruibile. Ogni voce in .items
è un oggetto con chiavi affidabili invece di 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 |
Rimosso. Utilizza invece details .
|