Lighthouse v3 Taşıma Kılavuzu

Bu kılavuz, aşağıdaki özelliklere sahip Lighthouse v2 kullanıcıları içindir:

  • Lighthouse'u Node veya komut satırından çalıştırın.
  • Lighthouse'ın JSON çıkışına güvenin.

Bu koşullar sizin için geçerli değilse Lighthouse'u çalıştırma iş akışınız büyük oranda aynıdır. Yeni özelliklere ve değişikliklere genel bakış için Lighthouse 3.0'u duyuruyoruz başlıklı makaleyi inceleyin.

Çağırma değişiklikleri

Lighthouse artık varsayılan olarak simüle edilmiş performansı hesaplar ve kısıtlama ayarları büyük ölçüde değiştirildi.

CLI İşaretleri

Senaryo v2 Bayrakları v3 Bayrakları
Geliştirici Araçları 3G Kısıtlaması Yok (varsayılan davranış) --throttling-method=devtools
Sınırlama yok --disable-network-throttling --disable-cpu-throttling --throttling-method=provided
Ağ sınırlama, CPU sınırlaması yok --disable-cpu-throttling --throttling-method=devtools --throttling.cpuSlowdownMultiplier=1
Performans denetimleri çalıştırma --perf --preset=perf
Karma İçerik Denetimleri Yapma --mixed-content --preset=mixed-content

Düğüm modülü

Lighthouse v3'te Node modülü, KSA ile aynı yapılandırma seçeneklerini kabul eder. Bu seçeneklerin çoğunun 2. sürümde yoksayıldığı, ancak artık Lighthouse'un çalışma şeklini etkileyeceği için bu önemli bir değişikliktir.

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

Çıkış değişiklikleri

JSON çıkışında yeni, üst düzey biçim

Lighthouse v3'ün döndürdüğü JSON nesnesi artık üç üst düzey mülk içeriyor:

  • lhr. Denetimlerin sonuçları. "Lighthouse Sonuçları"nın kısaltması. Bu, temel olarak v2'deki üst düzey nesnedir ancak v3, bu nesnenin şeklinde de önemli değişiklikler sunar. Sonuç nesnesinde yapılan değişiklikler bölümüne bakın.
  • artifacts. Denetim sırasında Chrome'dan toplanan veriler. Bu, daha önce LHR'nin özellikleriyle karıştırılıyordu.
  • report. Biçimlendirilmiş rapor HTML/JSON/CSV dizesi.

Sonuçlar nesnesinde yapılan değişiklikler

JSON çıkışında yeni, üst düzey biçim bölümünde belirtildiği gibi, denetim sonuçları lhr mülkü üzerinden kullanılamaz. 2. sürümde bu nesnenin içeriği temel olarak üst düzey JSON çıkışıydı. Ancak bu nesnenin şekli, v3'te değişti. Aşağıdaki tabloda tüm değişiklikler listelenmiştir.

  • Bir satırda hem v2 hem de v3 sütunlarında değer varsa kodunuzdaki v2 mülküne yapılan tüm referansları v3 eşdeğeri ile değiştirmeniz gerekir.
  • Bir satırın v3 sütununda değeri yoksa seçenekleriniz Notlar sütununda açıklanır.
  • ID gibi öğelerin yer tutucu metni temsil ettiğini unutmayın.
v2 Mülk v3-Eşdeğer Notlar
initialUrl requestedUrl
url finalUrl
generatedTime fetchedTime
reportCategories categories Diziden anahtarlanmış bir nesneye değiştirildi.
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 Olası değerler numeric|binary|manual|informative|not-applicable|error olarak genişletildi.
audits.ID.score audits.ID.score scoreDisplayMode sayısal veya ikili olduğunda puanlar her zaman 0 ile 1 arasında bir sayı olur (0-100 değil). Başarı/başarısızlık kavramı olmadığından diğer görüntüleme modlarında puanlar her zaman null olur.
audits.ID.displayValue audits.ID.displayValue Artık dize ekleme için printf stilinde bir bağımsız değişken dizisi olabilir.
audits.ID.debugString audits.ID.explanation audits.ID.errorMessage audits.ID.warnings debugString değerleri, amaçlarına bağlı olarak yukarıdaki üç mülkten birine dönüştürülmüştür.
audits.ID.details audits.ID.details Ayrıntıların yapısı, daha kullanışlı olacak şekilde değiştirildi. .items bölümündeki her giriş, any[] yerine güvenilir anahtarlar içeren bir nesnedir.
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 Kaldırıldı. Bunun yerine details politikasını kullanın.