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