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

यह गाइड, Lighthouse v2 के उन उपयोगकर्ताओं के लिए है जो:

  • Node या कमांड लाइन से Lighthouse चलाएं.
  • लाइटहाउस के JSON आउटपुट पर भरोसा करें.

अगर ये आप पर लागू नहीं होते हैं, तो Lighthouse को चलाने का आपका वर्कफ़्लो ज़्यादातर एक जैसा ही होगा. नई सुविधाओं और बदलावों के बारे में खास जानकारी पाने के लिए, Lighthouse 3.0 का एलान लेख पढ़ें.

बोलकर निर्देश देने की सुविधा में बदलाव

Lighthouse अब डिफ़ॉल्ट रूप से सिम्युलेट की गई परफ़ॉर्मेंस का हिसाब लगाता है. साथ ही, थ्रॉटलिंग की सेटिंग में काफ़ी बदलाव किए गए हैं.

सीएलआई फ़्लैग

स्थिति 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 में, Node मॉड्यूल वही कॉन्फ़िगरेशन विकल्प स्वीकार करता है जो सीएलआई में होते हैं. यह एक अहम बदलाव है, क्योंकि v2 में इनमें से कई विकल्पों को अनदेखा किया गया था. हालांकि, अब इनका असर Lighthouse के काम करने के तरीके पर पड़ेगा.

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

नतीजों के ऑब्जेक्ट में बदलाव

JSON आउटपुट में नया, टॉप-लेवल फ़ॉर्मैट में बताया गया है कि ऑडिट के नतीजे, lhr प्रॉपर्टी के ज़रिए उपलब्ध नहीं हैं. v2 में, इस ऑब्जेक्ट का कॉन्टेंट मुख्य रूप से टॉप-लेवल का 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 अंकों या बाइनरी में होता है, तो स्कोर हमेशा 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 का इस्तेमाल करें.