लाइटहाउस v3 को दूसरी जगह भेजने से जुड़ी गाइड

यह गाइड, 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 का इस्तेमाल करें.