यह गाइड, Lighthouse v2 के उपयोगकर्ताओं के लिए है:
- नोड या कमांड लाइन से लाइटहाउस चलाएं.
- Lighthouse के JSON आउटपुट पर भरोसा करें.
अगर ये आप पर लागू नहीं होते हैं, तो लाइटहाउस चलाने के लिए आपका वर्कफ़्लो ज़्यादातर पहले जैसा ही रहेगा. नई सुविधाओं और बदलावों की खास जानकारी के लिए, Lighthouse 3.0 का एलान किया जा रहा है देखें.
बातचीत शुरू करने के तरीके में बदलाव
लाइटहाउस, अब डिफ़ॉल्ट रूप से सिम्युलेटेड परफ़ॉर्मेंस का हिसाब लगाता है. इसलिए, थ्रॉटल की सेटिंग में काफ़ी बदलाव किए गए हैं.
सीएलआई फ़्लैग
स्थिति | 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 |
नोड मॉड्यूल
लाइटहाउस v3 में, नोड मॉड्यूल उन कॉन्फ़िगरेशन के विकल्पों को स्वीकार करता है जो सीएलआई में होते हैं. यह एक नुकसान पहुंचाने वाला बदलाव है, क्योंकि इनमें से कई विकल्पों को v2 में अनदेखा कर दिया गया. हालांकि, अब वे लाइटहाउस के काम करने के तरीके पर असर डालेंगे.
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 आउटपुट में नया और टॉप लेवल फ़ॉर्मैट
लाइटहाउस v3 से मिलने वाले JSON ऑब्जेक्ट में, अब तीन टॉप लेवल प्रॉपर्टी शामिल हैं:
lhr
. ऑडिट के नतीजे. "लाइटहाउस रिज़ल्ट" का शॉर्ट वीडियो. यह v2 में मुख्य रूप से टॉप-लेवल का ऑब्जेक्ट था, लेकिन v3 इस ऑब्जेक्ट के आकार में नुकसान पहुंचा सकने वाले बदलाव भी पेश करता है. नतीजों के ऑब्जेक्ट में होने वाले बदलाव देखें.artifacts
. ऑडिट के दौरान Chrome से इकट्ठा किया गया डेटा. पहले इसे एलएचआर की प्रॉपर्टी से मिलता-जुलता रखा गया था.report
. स्ट्रिंग के तौर पर फ़ॉर्मैट की गई रिपोर्ट एचटीएमएल/JSON/CSV फ़ॉर्मैट में.
नतीजे ऑब्जेक्ट में बदलाव
जैसा कि JSON आउटपुट में नए, टॉप लेवल फ़ॉर्मैट में बताया गया है, ऑडिट के नतीजे lhr
प्रॉपर्टी के ज़रिए उपलब्ध नहीं होते हैं. v2 में, इस ऑब्जेक्ट का कॉन्टेंट मुख्य तौर पर टॉप लेवल JSON आउटपुट था. हालांकि, v3 में इस ऑब्जेक्ट का आकार बदल गया है. नीचे दी गई टेबल में सभी बदलावों की सूची दी गई है.
- अगर किसी पंक्ति की वैल्यू v2 और v3, दोनों कॉलम में है, तो इसका मतलब है कि आपको अपने कोड में मौजूद v2 प्रॉपर्टी के किसी भी रेफ़रंस को, v3-समानता से बदल देना चाहिए.
- जब किसी पंक्ति के v3 कॉलम में कोई वैल्यू नहीं होती, तो Notes कॉलम में आपके विकल्पों के बारे में बताया जाता है.
- ध्यान दें कि 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 |
अगर scoreDisplayMode संख्या
या बाइनरी है, तो स्कोर हमेशा 0 और 1 के बीच की कोई संख्या (0 से 100 के बीच की संख्या नहीं) होती है. अन्य डिसप्ले मोड के लिए स्कोर हमेशा null होते हैं, क्योंकि पास या फ़ेल होने जैसी कोई बात नहीं होती.
|
audits.ID.displayValue |
audits.ID.displayValue |
स्ट्रिंग इंटरपोलेशन के लिए अब Printf-स्टाइल आर्ग्युमेंट का कलेक्शन हो सकता है. |
audits.ID.debugString |
audits.ID.explanation
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 का इस्तेमाल करें.
|