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