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

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

लाइटहाउस 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 का इस्तेमाल करें.