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