Это руководство предназначено для пользователей Lighthouse v2, которые:
- Запустите Lighthouse из Node или из командной строки.
- Положитесь на выходные данные Lighthouse в формате JSON.
Если это к вам не относится, то ваш рабочий процесс при запуске Lighthouse в основном такой же. См. «Анонс Lighthouse 3.0» для обзора новых функций и изменений.
Изменения вызова
Lighthouse теперь по умолчанию рассчитывает смоделированную производительность, а настройки регулирования были сильно изменены.
Флаги CLI
Сценарий | Флаги v2 | Флаги v3 |
---|---|---|
DevTools Регулирование 3G | Нет (поведение по умолчанию) | --throttling-method=devtools |
Нет регулирования | --disable-network-throttling --disable-cpu-throttling | --throttling-method=provided |
Регулирование сети, отсутствие регулирования ЦП | --disable-cpu-throttling | --throttling-method=devtools --throttling.cpuSlowdownMultiplier=1 |
Проведите аудит производительности | --perf | --preset=perf |
Проведите аудит смешанного контента | --mixed-content | --preset=mixed-content |
Узловой модуль
В Lighthouse v3 модуль Node принимает те же параметры конфигурации, что и CLI. Это кардинальное изменение в том смысле, что многие из этих опций были проигнорированы в версии 2, тогда как теперь они действительно будут влиять на работу 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);
}
Изменения вывода
Новый формат верхнего уровня в выводе JSON.
Объект JSON, возвращаемый Lighthouse v3, теперь содержит три свойства верхнего уровня:
-
lhr
. Результаты проверок. Сокращение от «Результаты маяка». По сути, это был объект верхнего уровня в версии 2, но в версии 3 также внесены серьезные изменения в форму этого объекта. См. Изменения в объекте результатов . -
artifacts
. Данные, собранные из Chrome во время аудита. Ранее это было смешано со свойствами LHR. -
report
. Отчет в формате HTML/JSON/CSV в виде строки.
Изменения в объекте результатов
Как упоминалось в разделе «Новый формат верхнего уровня в выводе JSON» , результаты аудита недоступны через свойство lhr
. В версии 2 содержимое этого объекта по существу представляло собой вывод JSON верхнего уровня. Однако форма самого этого объекта изменилась в версии 3. В таблице ниже перечислены все изменения.
- Если строка имеет значение как в столбцах v2 , так и в v3 , это означает, что вам следует заменить любую ссылку на свойство v2 в вашем коде эквивалентом v3.
- Если строка не имеет значения в столбце v3 , столбец «Примечания» описывает ваши варианты.
- Обратите внимание, что такие элементы, как ID представляют собой текст-заполнитель.
v2 Свойство | v3-эквивалент | Примечания |
---|---|---|
initialUrl | requestedUrl | |
url | finalUrl | |
generatedTime | fetchedTime | |
reportCategories | categories | Изменен массив на объект с ключом. |
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 | Возможные значения расширены до numeric|binary|manual|informative|not-applicable|error . |
audits. ID .score | audits. ID .score | Оценки всегда представляют собой число от 0 до 1 (не от 0 до 100), если scoreDisplayMode имеет числовое или двоичное значение. Для других режимов отображения баллы всегда равны null , поскольку не существует понятия «прошел/не прошел». |
audits. ID .displayValue | audits. ID .displayValue | Теперь может быть массивом аргументов в стиле printf для интерполяции строк. |
audits. ID .debugString | audits. ID .explanation audits. ID .errorMessage Аудит audits. ID .errorMessage audits. ID .warnings | Значения debugString были преобразованы в одно из трех вышеперечисленных свойств в зависимости от их назначения. |
audits. ID .details | audits. ID .details | Структура деталей изменилась и стала более потребляемой. Каждая запись в .items представляет собой объект с надежными ключами вместо 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 | Удаленный. Вместо этого используйте details . |