Bu kılavuz, aşağıdaki koşulları karşılayan Lighthouse v2 kullanıcıları içindir:
- Lighthouse'u Node 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ırma iş akışınız büyük oranda aynıdır. Yeni özellikler ve değişikliklere genel bakış için Duyurulan Lighthouse 3.0 dokümanına bakın.
Ç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 İş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ğ 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 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 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 2. sürümdeki üst düzey nesnedir ancak 3. sürümde bu nesnenin şeklinde de önemli değişiklikler yapılmıştır. Sonuç nesnesindeki 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ç nesnesindeki 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. v2'de, bu nesnenin içeriği aslında ü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 listelenmektedir.
- Bir satırın hem v2 hem de v3 sütunlarında değer varsa kodunuzda v2 özelliğine yapılan tüm referansları v3 eşdeğeriyle değiştirmeniz gerekir.
- 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ğer | 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 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). Diğer görüntüleme modlarında bunun olmaması nedeniyle puanlar her zaman null
başarılı/başarısız kavramını ifade eder.
|
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ğ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 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.
|