המדריך הזה מיועד למשתמשי Lighthouse גרסה 2:
- מריצים את Lighthouse מ-Node או משורת הפקודה.
- אפשר להסתמך על פלט ה-JSON של Lighthouse.
אם השיטות האלה לא רלוונטיות לכם, תהליך העבודה להפעלת Lighthouse כמעט זהה. לסקירה כללית של המהדורות החדשות, ראו הודעה על Lighthouse 3.0 לבינה מלאכותית גנרטיבית ושינויים.
שינויים בהפעלה
מערכת Lighthouse מחשבת עכשיו סימולציה של ביצועים כברירת מחדל, והגדרות של ויסות הנתונים (throttle) במידה רבה מאוד השתנה.
דגלים ב-CLI
תרחיש | דגלים לגרסה 2 | דגלים לגרסה 3 |
---|---|---|
ויסות נתונים (throttle) של כלי פיתוח 3G | ללא (התנהגות ברירת המחדל) | --throttling-method=devtools |
ללא ויסות נתונים (throttle) | --disable-network-throttling --disable-cpu-throttling |
--throttling-method=provided |
ויסות נתונים (throttle) ברשת, ללא ויסות נתונים (throttle) במעבד (CPU) | --disable-cpu-throttling |
--throttling-method=devtools --throttling.cpuSlowdownMultiplier=1 |
הפעלת בדיקות ביצועים | --perf |
--preset=perf |
הפעלת בדיקות של תוכן מעורב | --mixed-content |
--preset=mixed-content |
מודול צומת
בגרסה 3 של Lighthouse, מודול ה-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 מכיל עכשיו 3 מאפיינים ברמה העליונה:
lhr
תוצאות הבדיקות. קיצור של "Lighthouse Results" (תוצאות של מגדלור). זו הייתה בעצם הנחיה אובייקט ברמה העליונה בגרסה 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 הומרו לאחד משלושת הנכסים שצוינו למעלה
בהתאם לכוונה שלהם.
|
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 .
|