Lighthouse v3 Taşıma Kılavuzu

Bu kılavuz, aşağıdaki koşulları karşılayan 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.

Bu koşullar sizin için geçerli değilse Lighthouse'u çalıştırmak için kullandığınız iş akışı büyük ölçüde aynıdır. Yeni sürüme genel bakış için bkz. Announcing Lighthouse 3.0 özellikleri ve değişiklikleri takip etmektir.

Çağrı değişiklikleri

Lighthouse artık performans simülasyonunu varsayılan olarak hesaplıyor ve kısıtlama ayarları değiştirildi.

KSA İş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ıtlaması, CPU Kısıtlaması Yok --disable-cpu-throttling --throttling-method=devtools --throttling.cpuSlowdownMultiplier=1
Performans Denetimleri Yürütme --perf --preset=perf
Karma İçerik Denetimleri Yap --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, bu seçeneklerin çoğunun v2'de göz ardı edilmesi ve çalışma şeklini etkiler.

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 3 üst düzey özellik içeriyor:

  • lhr Denetimlerin sonuçları. "Lighthouse Results"un kısaltması. Bu esasen ancak v3, bu nesnenin şeklinde de yıkıcı değişiklikler yaratır. Görüntüleyin Sonuç nesnesinde yapılan değişiklikler.
  • artifacts Denetleme sırasında Chrome'dan toplanan veriler. Bu, daha önce karışık LHR'nin özellikleriyle uyumludur.
  • report Biçimlendirilmiş rapor HTML/JSON/CSV dize olarak.

Sonuç nesnesindeki değişiklikler

JSON çıkışında yeni, üst düzey biçim konusunda belirtildiği gibi, denetimlerin sonuçları artık lhr mülkü üzerinden kullanılabilir. v2'de bu nesnenin içeriği aslında üst düzey JSON çıkışı. Ancak bu nesnenin şekli v3'te değişmiştir. Aşağıdaki tablo tüm değişiklikleri listeler.

  • Bir satırın hem v2 hem de v3 sütunlarında değer varsa bu durum, v2 özelliğine ilişkin tüm referansları v3 eşdeğeriyle değiştirmeniz gerekir.
  • Bir satırın v3 sütununda değer olmadığında, Notlar sütununda seçenekleriniz.
  • 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 şu şekilde genişletildi: numeric|binary|manual|informative|not-applicable|error
audits.ID.score audits.ID.score scoreDisplayMode olduğunda puanlar her zaman 0 ile 1 arasında bir sayıdır (0-100 değil). sayısal veya ikili olabilir. Diğer görüntüleme modlarında bunun olmaması nedeniyle puanlar her zaman null başarılı/başarısız kavramlarını ifade eder.
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ğeri, yukarıdaki üç özellikten birine dönüştürüldü tercih edebilirsiniz.
audits.ID.details audits.ID.details Ayrıntıların yapısı daha tüketilebilir olacak şekilde değiştirildi. .items içindeki 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.