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