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