המדריך הזה מיועד למשתמשי Lighthouse גרסה 2:
- מריצים את Lighthouse מ-Node או משורת הפקודה.
- אפשר להסתמך על פלט ה-JSON של Lighthouse.
אם השיטות האלה לא רלוונטיות לכם, תהליך העבודה להפעלת Lighthouse כמעט זהה. לסקירה כללית של המהדורות החדשות, ראו הודעה על Lighthouse 3.0 לבינה מלאכותית גנרטיבית ושינויים.
שינויים בהפעלה
מערכת Lighthouse מחשבת עכשיו סימולציה של ביצועים כברירת מחדל, והגדרות של ויסות הנתונים (throttle) במידה רבה מאוד השתנה.
דגלים ב-CLI
תרחיש | דגלים לגרסה 2 | דגלים לגרסה 3 |
---|---|---|
ויסות נתונים (throttle) של כלי פיתוח 3G | ללא (התנהגות ברירת המחדל) | --throttling-method=devtools |
ללא ויסות נתונים (throttle) | --disable-network-throttling --disable-cpu-throttling |
--throttling-method=provided |
ויסות נתונים (throttle) ברשת, ללא ויסות נתונים (throttle) במעבד (CPU) | --disable-cpu-throttling |
--throttling-method=devtools --throttling.cpuSlowdownMultiplier=1 |
הפעלת בדיקות ביצועים | --perf |
--preset=perf |
הפעלת בדיקות של תוכן מעורב | --mixed-content |
--preset=mixed-content |
מודול צומת
בגרסה 3 של Lighthouse, מודול ה-Node מקבל את אותן אפשרויות הגדרה כמו ב-CLI. זהו שינוי תוכנה שעלול לגרום לכשל בגרסה 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
אובייקט ה-JSON שמוחזרים על ידי Lighthouse v3 מכיל עכשיו 3 מאפיינים ברמה העליונה:
lhr
. התוצאות של הבדיקות. קיצור של 'תוצאות Lighthouse'. זו הייתה בעצם הנחיה אובייקט ברמה העליונה בגרסה 2, אבל v3 כולל גם שינויי תוכנה שעלולים לגרום לכשלים בצורה של האובייקט הזה. שינויים באובייקט התוצאותartifacts
הנתונים שנאספו מ-Chrome במהלך הביקורת. ההגדרה הזו הייתה מעורבת בעבר עם המאפיינים של ה-LHR.report
הפורמט של הדוח בפורמט HTML/JSON/CSV הוא מחרוזת.
שינויים באובייקט התוצאות
כפי שצוין בקטע פורמט חדש ברמה העליונה בפלט JSON, תוצאות הביקורות
זמינה דרך הנכס lhr
. בגרסה 2, התוכן של האובייקט הזה היה למעשה הפלט של ה-JSON ברמה העליונה. עם זאת, הצורה של האובייקט הזה השתנתה בגרסה 3. הטבלה שלמטה
מפרט את כל השינויים.
- אם לשורה יש ערך גם בעמודה v2 וגם בעמודה v3, המשמעות היא שצריך להחליף כל הפניה לנכס v2 בקוד שלכם בערך שמקביל ל-v3.
- כשלשורה אין ערך בעמודה v3, יוצג תיאור בעמודה הערות האפשרויות שלכם.
- חשוב לזכור שפריטים כמו ID מייצגים טקסט של placeholder.
נכס גרסה 2 | שווה ערך לגרסה 3 | הערות |
---|---|---|
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 |
הציונים הם תמיד מספר בין 0 ל-1 (לא 0-100) כאשר 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 .
|