هذا الدليل مخصَّص لمستخدمي الإصدار 2 من Lighthouse الذين:
- يمكنك تشغيل Lighthouse من عقدة أو من سطر الأوامر.
- اعتمِد على ناتج JSON من Lighthouse.
إذا لم ينطبق أي من الشروط عليك، يعني ذلك أنّ طريقة عملك في تشغيل Lighthouse هي نفسها تقريبًا. يُرجى الاطّلاع على الإعلان عن Lighthouse 3.0 للحصول على نظرة عامة حول الميزات الميزات والتغييرات.
التغييرات في الاستدعاءات
تحتسب أداة Lighthouse الآن الأداء الذي تمت محاكاته تلقائيًا، وتم ضبط إعدادات التقييد بشكل كبير بتغييره.
علامات واجهة سطر الأوامر
السيناريو | الإصدار 2 من العلامات | الإصدار 3 من العلامات |
---|---|---|
تقييد شبكات الجيل الثالث في أدوات مطوّري البرامج | لا شيء (السلوك التلقائي) | --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 |
وحدة عقدة
في الإصدار 3 من Lighthouse، تقبل وحدة العُقدة خيارات الضبط نفسها مثل واجهة سطر الأوامر. هذا هو تغيير جذري بمعنى أنه تم تجاهل العديد من هذه الخيارات في الإصدار 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، بينما يقدّم الإصدار 3 تغييرات قد تؤدي إلى كسر في شكل هذا العنصر أيضًا. عرض التغييرات التي تطرأ على كائن النتائج:artifacts
البيانات التي تم جمعها من Chrome أثناء التدقيق كان هذا مختلطًا في السابق بخصائص LHR.report
التقرير المنسَّق بتنسيق HTML/JSON/CSV كسلسلة.
التغييرات على كائن النتائج
كما ورد في تنسيق المستوى الأعلى الجديد في إخراج JSON، أصبحت نتائج عمليات التدقيق الآن
متوفّرة من خلال سمة lhr
في الإصدار الثاني، كان محتوى هذا الكائن
إخراج JSON عالي المستوى. ومع ذلك، فقد تغير شكل هذا الكائن نفسه في الإصدار 3. الجدول التالي
يسرد جميع التغييرات.
- إذا كان أحد الصفوف يحتوي على قيمة في كلا العمودين v2 وv3، يعني ذلك يجب عليك استبدال أي إشارة إلى السمة v2 في رمزك بالعنصر المكافئ له إلى الإصدار v3.
- عندما لا يحتوي أحد الصفوف على قيمة في العمود 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 كبديل.
|