Ce guide s'adresse aux utilisateurs de Lighthouse v2 qui:
- Exécutez Lighthouse depuis Node ou la ligne de commande.
- Appuyez-vous sur la sortie JSON de Lighthouse.
Si vous ne les rencontrez pas, votre workflow pour exécuter Lighthouse est presque le même. Consultez l'article Annonce de Lighthouse 3.0 pour un aperçu des nouvelles fonctionnalités fonctionnalités et modifications.
Changements d'appel
Par défaut, Lighthouse calcule désormais les performances simulées et les paramètres de limitation ont été fortement modifié.
Indicateurs de la CLI
Scénario | Indicateurs de la version 2 | Indicateurs de la version 3 |
---|---|---|
Limitation de la 3G dans les outils de développement | Aucune (comportement par défaut) | --throttling-method=devtools |
Aucune limitation | --disable-network-throttling --disable-cpu-throttling |
--throttling-method=provided |
Limitation de la bande passante réseau, aucune limitation du processeur | --disable-cpu-throttling |
--throttling-method=devtools --throttling.cpuSlowdownMultiplier=1 |
Réaliser des audits de performances | --perf |
--preset=perf |
Effectuer des audits de contenus mixtes | --mixed-content |
--preset=mixed-content |
Module de nœud
Dans Lighthouse v3, le module Node accepte les mêmes options de configuration que la CLI. Il s'agit d'un car bon nombre de ces options ont été ignorées dans la version 2, affecter le fonctionnement de 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);
}
Modifications des sorties
Nouveau format de premier niveau dans la sortie JSON
L'objet JSON renvoyé par Lighthouse v3 contient désormais trois propriétés de premier niveau:
lhr
Les résultats des audits. Abréviation de "Résultats phares". Il s'agissait essentiellement objet de premier niveau dans la version 2, mais la version 3 introduit également des modifications destructives de la forme de cet objet. Voir Modifications apportées à l'objet de résultats.artifacts
Données collectées par Chrome lors de l'audit. Auparavant mélangé avec les propriétés de la LHR.report
Rapport formaté HTML/JSON/CSV sous forme de chaîne.
Modifications apportées à l'objet de résultats
Comme indiqué dans la section Nouveau format de premier niveau en sortie JSON, les résultats des audits sont désormais
disponible via la propriété lhr
. Dans la version 2, le contenu de cet objet était essentiellement
sortie JSON de premier niveau. Cependant, la forme de cet objet lui-même a changé dans la version 3. Le tableau ci-dessous
répertorie toutes les modifications.
- Si une ligne comporte une valeur dans les colonnes v2 et v3, cela signifie vous devez remplacer toute référence à la propriété v2 dans votre code par l'équivalent v3.
- Lorsqu'une ligne ne comporte pas de valeur dans la colonne v3, la colonne Notes décrit vos options.
- Notez que des éléments tels que ID représentent du texte d'espace réservé.
Propriété v2 | Équivalent v3 | Remarques |
---|---|---|
initialUrl |
requestedUrl |
|
url |
finalUrl |
|
generatedTime |
fetchedTime |
|
reportCategories |
categories |
Remplacement d'un tableau par un objet à clé. |
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 |
Les valeurs possibles ont été étendues à
numeric|binary|manual|informative|not-applicable|error
|
audits.ID.score |
audits.ID.score |
Les scores sont toujours un nombre compris entre 0 et 1 (et non entre 0 et 100) lorsque scoreDisplayMode est
numérique ou binaire. Les scores sont toujours null pour les autres modes d'affichage, car il n'existe pas
de réussite/échec.
|
audits.ID.displayValue |
audits.ID.displayValue |
Peut désormais être un tableau d'arguments de style printf pour l'interpolation de chaîne. |
audits.ID.debugString |
audits.ID.explanation
audits.ID.errorMessage
audits.ID.warnings
|
Les valeurs debugString ont été converties dans l'une des trois propriétés ci-dessus
en fonction de leurs intentions.
|
audits.ID.details |
audits.ID.details |
La structure des détails a changé pour être plus consommable. Chaque entrée de .items
est un objet doté de clés fiables au lieu de 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 |
Supprimé. Utilisez details à la place.
|