این راهنما برای کاربران Lighthouse v2 است که:
- Lighthouse را از Node یا خط فرمان اجرا کنید.
- به خروجی JSON Lighthouse تکیه کنید.
اگر این موارد در مورد شما صدق نمی کند، گردش کار شما برای اجرای Lighthouse عمدتاً یکسان است. برای مروری بر ویژگیها و تغییرات جدید، به Announcing Lighthouse 3.0 مراجعه کنید.
فراخوان تغییر می کند
اکنون Lighthouse عملکرد شبیه سازی شده را به طور پیش فرض محاسبه می کند و تنظیمات throttling به شدت تغییر کرده است.
پرچم های CLI
سناریو | v2 Flags | v3 Flags |
---|---|---|
DevTools 3G Throttling | هیچ (رفتار پیش فرض) | --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 |
ماژول گره
در Lighthouse v3، ماژول Node همان گزینه های پیکربندی CLI را می پذیرد. این یک تغییر اساسی است به این معنا که بسیاری از این گزینه ها در نسخه 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
. نتایج ممیزی ها. مخفف «نتایج فانوس دریایی» این در اصل شیء سطح بالای نسخه 2 بود، اما v3 نیز تغییراتی را در شکل این شیء ایجاد می کند. تغییرات در شیء نتایج را ببینید. -
artifacts
. دادههای جمعآوریشده از Chrome هنگام ممیزی. این قبلاً با خواص LHR آمیخته شده بود. -
report
. گزارش قالب بندی شده HTML/JSON/CSV به عنوان یک رشته.
تغییرات در نتایج شی
همانطور که در قالب جدید و سطح بالا در خروجی JSON ذکر شد، نتایج ممیزی ها اکنون از طریق ویژگی lhr
در دسترس است. در نسخه 2، محتویات این شی در اصل خروجی JSON سطح بالا بود. با این حال، شکل خود این شی در v3 تغییر کرده است. جدول زیر تمام تغییرات را نشان می دهد.
- اگر یک ردیف در هر دو ستون v2 و v3 دارای مقدار باشد، به این معنی است که باید هر ارجاعی به ویژگی v2 در کد خود را با معادل v3 جایگزین کنید.
- هنگامی که یک ردیف در ستون v3 مقداری ندارد، ستون Notes گزینه های شما را توصیف می کند.
- توجه داشته باشید که مواردی مانند ID نشان دهنده متن مکان نگهدار است.
v2 خاصیت | v3-معادل | یادداشت ها |
---|---|---|
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 | وقتی scoreDisplayMode عددی یا باینری است، نمرات همیشه عددی بین 0 تا 1 هستند (نه 0-100). امتیازها برای سایر حالتهای نمایش همیشه 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 استفاده کنید. |