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