Lighthouse v3 Taşıma Kılavuzu

Bu kılavuz, aşağıdaki koşulları yerine getiren Lighthouse v2 kullanıcıları içindir:

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

Bunlar sizin için geçerli değilse Lighthouse'u çalıştırma iş akışınız büyük ölçüde aynıdır. Yeni özellikler ve değişikliklere genel bir bakış için Lighthouse 3.0 duyurusu sayfasına bakın.

Çağrı değişiklikleri

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

CLI İşaretleri

Senaryo v2 İşaretleri v3 İşaretleri
Geliştirici Araçları 3G Kısıtlaması Yok (varsayılan davranış) --throttling-method=devtools
Kısıtlama Yok --disable-network-throttling --disable-cpu-throttling --throttling-method=provided
Ağ Kısıtlama, CPU Kısıtlama Yok --disable-cpu-throttling --throttling-method=devtools --throttling.cpuSlowdownMultiplier=1
Performans Denetimleri Gerçekleştir --perf --preset=perf
Karma İçerik Denetimleri Yürütme --mixed-content --preset=mixed-content

Düğüm Modülü

Lighthouse v3'te Düğüm modülü, CLI ile aynı yapılandırma seçeneklerini kabul eder. Bu, v2'de bu seçeneklerin çoğunun göz ardı edilmiş olması, ancak artık Lighthouse'un çalışma şeklini etkileyecekleri açısından kırıcı bir değişiklik.

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 çıktısında yeni, üst düzey biçim

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

  • lhr. Denetimlerin sonuçları. "Lighthouse Sonuçlar"ın kısa videosu. Bu, v2'nin en üst düzey nesnesiydi ancak v3, bu nesnenin şeklinde de önemli değişiklikleri beraberinde getiriyor. Sonuç nesnesinde yapılan değişiklikler konusuna bakın.
  • artifacts. Denetleme sırasında Chrome'dan toplanan veriler. Bu, daha önce LHR'nin özellikleriyle karıştırılıyordu.
  • report. Dize olarak biçimlendirilmiş HTML/JSON/CSV raporu.

Sonuç nesnesindeki değişiklikler

JSON çıktısında yeni, üst düzey biçimde açıklandığı gibi, denetleme sonuçlarına lhr mülkü üzerinden erişilemez. v2'de bu nesnenin içeriği, temelde üst düzey JSON çıkışıdır. Ancak bu nesnenin şekli v3'te değişmiştir. Aşağıdaki tabloda tüm değişiklikler listelenmiştir.

  • Bir satırın hem v2 hem de v3 sütunlarında değer olması, kodunuzdaki v2 özelliğine yönelik tüm referansları v3 eşdeğeriyle değiştirmeniz gerektiği anlamına gelir.
  • Bir satırın v3 sütununda değer 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ğeri Notlar
initialUrl requestedUrl
url finalUrl
generatedTime fetchedTime
reportCategories categories Diziden anahtarlı nesne olarak 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 olacak şekilde 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ıdır (0-100 değil). Başarılı/başarısız diye bir kavram olmadığından diğer görüntüleme modlarında puanlar her zaman null değerindedir.
audits.ID.displayValue audits.ID.displayValue Artık dize interpolasyonu için Printf stili bağımsız değişkenler 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 üç özellikten birine dönüştürüldü.
audits.ID.details audits.ID.details Ayrıntıların yapısı daha tüketilebilir hale geldi. .items alanındaki her giriş, any[] yerine güvenilir anahtarlara sahip 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.