המדריך הזה מיועד למשתמשי Lighthouse v2 שעומדים בתנאים הבאים:
- מריצים את Lighthouse מהצומת או משורת הפקודה.
- הסתמכות על פלט ה-JSON של Lighthouse.
אם השיטות האלה לא רלוונטיות לכם, תהליך העבודה להפעלת Lighthouse הוא בעיקרו. סקירה כללית לגבי תכונות חדשות ושינויים זמינים במאמר הודעה על גרסה 3.0 של Lighthouse.
שינויי הפעלה
מערכת 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 שהגרסה 3 של Lighthouse מכיל עכשיו שלושה מאפיינים ברמה העליונה:
lhr
. תוצאות הביקורות. סרטון קצר בנושא "Lighthouse Results" (תוצאות 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 הומרו לאחד משלושת הנכסים שלמעלה,
בהתאם ל-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 .
|