هذا الدليل مخصّص لمستخدمي Lighthouse الإصدار 2 الذين:
- يمكنك تشغيل Lighthouse من Node أو سطر الأوامر.
- الاعتماد على إخراج JSON من Lighthouse
إذا لم تنطبق هذه الشروط عليك، سيظلّ سير عملك في تشغيل Lighthouse كما هو في أغلب الأحيان. اطّلِع على إعلان عن Lighthouse 3.0 للحصول على نظرة عامة على الميزات والتغييرات الجديدة.
تغييرات في طريقة الاستدعاء
تحسب أداة Lighthouse الآن الأداء المحاكى تلقائيًا، وتم تغيير إعدادات التقييد بشكل كبير.
علامات سطر الأوامر
السيناريو | علامات الإصدار 2 | أعلام الإصدار 3 |
---|---|---|
تقييد شبكة الجيل الثالث في أدوات مطوّري البرامج | لا شيء (الإعداد التلقائي) | --throttling-method=devtools |
بدون تقييد | --disable-network-throttling --disable-cpu-throttling |
--throttling-method=provided |
ضبط الحد الأقصى المسموح به لعرض نطاق الشبكة، بدون تقييد وحدة المعالجة المركزية | --disable-cpu-throttling |
--throttling-method=devtools --throttling.cpuSlowdownMultiplier=1 |
إجراء عمليات تدقيق الأداء | --perf |
--preset=perf |
إجراء عمليات تدقيق المحتوى المختلط | --mixed-content |
--preset=mixed-content |
وحدة العقدة
في الإصدار 3 من Lighthouse، تقبل وحدة Node خيارات الضبط نفسها التي تتيحها واجهة برمجة التطبيقات. هذا تغيير جذري بمعنى أنّه تم تجاهل العديد من هذه الخيارات في الإصدار 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" كان هذا هو العنصر الأساسي من المستوى الأعلى في الإصدار 2، ولكنّ الإصدار 3 يقدّم تغييرات جذرية على شكل هذا العنصر أيضًا. راجِع التغييرات على عنصر النتائج.artifacts
. البيانات التي يتم جمعها من Chrome أثناء التدقيق وكان هذا الإجراء سابقًا مختلطًا بخصائص LHR.report
. التقرير المنسَّق بتنسيق HTML/JSON/CSV كسلسلة
التغييرات على عنصر النتائج
كما هو موضّح في مقالة تنسيق جديد على مستوى أعلى في إخراج JSON، لا تتوفّر نتائج عمليات التدقيق من خلال السمة lhr
. في الإصدار 2، كانت محتويات هذا الكائن هي في الأساس ناتج JSON من المستوى الأعلى. ومع ذلك، تغيّر شكل هذا العنصر نفسه في الإصدار 3. يسرد الجدول أدناه جميع التغييرات.
- إذا كان الصف يحتوي على قيمة في عمودَي v2 وv3، يعني ذلك أنّه عليك استبدال أيّ إشارة إلى السمة v2 في الرمز البرمجي بما يعادلها في v3.
- عندما لا يحتوي الصف على قيمة في عمود v3، يوضّح عمود الملاحظات خياراتك.
- يُرجى العِلم أنّ العناصر مثل ID تمثّل نصًا نائبًا.
الموقع الإلكتروني بالإصدار 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 بدلاً من ذلك.
|