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

המדריך הזה מיועד למשתמשי Lighthouse v2:

  • מריצים את Lighthouse מ-Node או משורת הפקודה.
  • להסתמך על פלט ה-JSON של Lighthouse.

אם אלה לא רלוונטיים לכם, תהליך העבודה שלכם להפעלת Lighthouse יהיה דומה ברוב המקרים. השקת Lighthouse 3.0 – סקירה כללית על השינויים והתכונות החדשות.

שינויים בהפעלה

Lighthouse מחשב עכשיו ביצועים מדומים כברירת מחדל, והגדרות ויסות הנתונים השתנו באופן משמעותי.

דגלים של CLI

תרחיש דגלים של v2 דגלים של גרסה 3
ויסות נתונים (throttle) ב-3G בכלי הפיתוח ללא (התנהגות ברירת המחדל) --throttling-method=devtools
ללא ויסות נתונים (throttle) --disable-network-throttling --disable-cpu-throttling --throttling-method=provided
הגבלת רוחב פס, ללא ויסות נתונים במעבד (CPU) --disable-cpu-throttling --throttling-method=devtools --throttling.cpuSlowdownMultiplier=1
הרצת ביקורות ביצועים --perf --preset=perf
הרצת בדיקות של תוכן מעורב --mixed-content --preset=mixed-content

מודול צומת

ב-Lighthouse גרסה 3, מודול 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 מכיל עכשיו שלושה מאפיינים ברמה העליונה:

  • lhr. התוצאות של הבדיקות. קיצור של 'תוצאות Lighthouse'. זה היה למעשה האובייקט ברמה העליונה בגרסה 2, אבל בגרסה 3 יש גם שינויים משמעותיים בצורתו של האובייקט הזה. שינויים באובייקט התוצאות
  • artifacts. הנתונים שנאספו מ-Chrome במהלך הביקורת. בעבר, הנתונים האלה היו מעורבבים עם המאפיינים של LHR.
  • report. הדוח בפורמט HTML/‏JSON/‏CSV כמחרוזת.

שינויים באובייקט התוצאות

כפי שצוין בקטע פורמט חדש ברמה העליונה בפלט JSON, תוצאות הביקורות לא זמינות דרך המאפיין lhr. בגרסה 2, התוכן של האובייקט הזה היה למעשה פלט ה-JSON ברמה העליונה. עם זאת, הצורה של האובייקט הזה עצמו השתנתה בגרסה 3. בטבלה הבאה מפורטים כל השינויים.

  • אם לשורה יש ערך גם בעמודה v2 וגם בעמודה v3, המשמעות היא שצריך להחליף כל הפניה למאפיין v2 בקוד שלכם ב-v3 המקביל.
  • אם בשורה מסוימת אין ערך בעמודה v3, בעמודה Notes מתוארות האפשרויות שלכם.
  • הערה: פריטים כמו ID מייצגים טקסט placeholder.
נכס 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.