هذا الدليل مخصَّص لمستخدمي الإصدار 2 من Lighthouse الذين:
- يمكنك تشغيل Lighthouse من عقدة أو من سطر الأوامر.
- اعتمِد على ناتج 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، تقبل وحدة العُقدة خيارات الضبط نفسها مثل واجهة سطر الأوامر. هذا هو تغيير جذري بمعنى أنه تم تجاهل العديد من هذه الخيارات في الإصدار 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 كبديل.
|