מדריך למעבר אל Lighthouse גרסה 3

המדריך הזה מיועד למשתמשי 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.