คู่มือนี้มีไว้สําหรับผู้ใช้ Lighthouse v2 ดังนี้
- เรียกใช้ Lighthouse จาก Node หรือบรรทัดคำสั่ง
- ใช้เอาต์พุต JSON ของ Lighthouse
หากกรณีเหล่านี้ไม่ตรงกับคุณ เวิร์กโฟลว์ในการเรียกใช้ Lighthouse จะคล้ายกันเกือบทั้งหมด ดูภาพรวมฟีเจอร์และการเปลี่ยนแปลงใหม่ๆ ได้ที่การเปิดตัว Lighthouse 3.0
การเปลี่ยนแปลงการเรียกใช้
ตอนนี้ Lighthouse จะคํานวณประสิทธิภาพที่จำลองไว้โดยค่าเริ่มต้น และการตั้งค่าการควบคุมมีการเปลี่ยนแปลงอย่างมาก
แฟล็ก CLI
สถานการณ์ | ธง v2 | ธง v3 |
---|---|---|
การควบคุม 3G ของเครื่องมือสำหรับนักพัฒนาเว็บ | ไม่มี (ลักษณะการทำงานเริ่มต้น) | --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 การเปลี่ยนแปลงนี้เป็นการเปลี่ยนแปลงที่ส่งผลต่อการใช้งานเนื่องจากตัวเลือกเหล่านี้จำนวนมากถูกละเว้นใน v2 แต่ตอนนี้ตัวเลือกเหล่านี้จะส่งผลต่อวิธีการทำงานของ 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 ขณะตรวจสอบ ซึ่งก่อนหน้านี้จะรวมอยู่ในพร็อพเพอร์ตี้ของ LHRreport
. รายงาน HTML/JSON/CSV ที่มีการจัดรูปแบบเป็นสตริง
การเปลี่ยนแปลงออบเจ็กต์ผลลัพธ์
ดังที่ได้กล่าวไว้ในรูปแบบใหม่ระดับบนสุดในเอาต์พุต JSON ผลการตรวจสอบจะใช้งานไม่ได้ผ่านพร็อพเพอร์ตี้ lhr
ใน v2 เนื้อหาของออบเจ็กต์นี้เป็นเอาต์พุต JSON ระดับบนสุด อย่างไรก็ตาม รูปร่างของออบเจ็กต์นี้เปลี่ยนไปในเวอร์ชัน 3 ตารางด้านล่างแสดงการเปลี่ยนแปลงทั้งหมด
- หากแถวมีค่าทั้งในคอลัมน์ v2 และ v3 หมายความว่าคุณควรแทนที่การอ้างอิงพร็อพเพอร์ตี้ v2 ในโค้ดด้วยรายการที่เทียบเท่า v3
- เมื่อแถวไม่มีค่าในคอลัมน์ v3 คอลัมน์หมายเหตุจะอธิบายตัวเลือกของคุณ
- โปรดทราบว่ารายการต่างๆ เช่น 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 |
คะแนนจะเป็นตัวเลขระหว่าง 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 เป็นพร็อพเพอร์ตี้ใดพร็อพเพอร์ตี้หนึ่งจาก 3 รายการข้างต้นแล้ว โดยขึ้นอยู่กับความตั้งใจของค่า
|
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 แทน
|