המדריך הזה מיועד למשתמשי Lighthouse גרסה 2:
- מריצים את 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 v3, מודול 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 Results" (תוצאות של מגדלור). זה היה למעשה האובייקט ברמה העליונה בגרסה 2, אבל גרסה 3 כוללת גם שינויי תוכנה שעלולים לגרום לכשלים בצורה של האובייקט הזה. פרטים נוספים מופיעים בקטע שינויים באובייקט התוצאות.artifacts
. הנתונים שנאספו מ-Chrome במהלך הביקורת. בעבר, הנתונים האלה היו מעורבבים עם המאפיינים של LHR.report
הפורמט של הדוח בפורמט HTML/JSON/CSV הוא מחרוזת.
שינויים באובייקט התוצאות
כפי שצוין בקטע פורמט חדש ברמה העליונה בפלט JSON, תוצאות הביקורות לא זמינות דרך המאפיין lhr
. בגרסה 2, התוכן של האובייקט הזה היה בעיקרון פלט ה-JSON ברמה העליונה. עם זאת, הצורה של האובייקט הזה השתנתה בגרסה 3. הטבלה שבהמשך מפרטת את כל השינויים.
- אם בשורה יש ערך גם בעמודה v2 וגם בעמודה v3, המשמעות היא שצריך להחליף כל הפניה לנכס v2 בקוד שלכם בערך שמקביל ל-v3.
- אם בשורה מסוימת אין ערך בעמודה v3, העמודה Notes מתארת את האפשרויות שלכם.
- חשוב לזכור שפריטים כמו ID מייצגים טקסט של placeholder.
נכס v2 | שווה ערך לגרסה 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 |
כשהערך של 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 .
|