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

המדריך הזה מיועד למשתמשי Lighthouse v2 שעומדים בתנאים הבאים:

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

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

שינויי הפעלה

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

דגלים ל-CLI

תרחיש דגלי גרסה 2 דגלי גרסה 3
הגבלת רוחב פס של 3G בכלי פיתוח ללא (התנהגות ברירת המחדל) --throttling-method=devtools
ללא הגבלת רוחב פס --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 v3, מודול הצומת מקבל את אותן אפשרויות תצורה כמו ב-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 Results" (תוצאות Lighthouse). זה היה בעיקר האובייקט ברמה העליונה בגרסה 2, אבל v3 כולל גם שינויי צורה בצורה של האובייקט הזה. ראו שינויים באובייקט התוצאות.
  • artifacts. הנתונים שנאספים מ-Chrome במהלך הביקורת. שלב זה שלב קודם לכן עם המאפיינים של ה-LHR.
  • report. הדוח בפורמט HTML/JSON/CSV כמחרוזת.

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

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

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