คำแนะนำนี้มีไว้สำหรับผู้ใช้ 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 โมดูลโหนดยอมรับตัวเลือกการกำหนดค่าเดียวกันกับ 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 ระหว่างการตรวจสอบ ก่อนหน้านี้ปัญหานี้เกี่ยวข้องกับพร็อพเพอร์ตี้ของ LHR
- reportรายงานที่จัดรูปแบบ HTML/JSON/CSV เป็นสตริง
การเปลี่ยนแปลงออบเจ็กต์ผลลัพธ์
ดังที่ได้กล่าวไว้ในรูปแบบใหม่ระดับบนสุดในเอาต์พุต JSON ผลการตรวจสอบจะใช้งานไม่ได้ผ่านพร็อพเพอร์ตี้ lhr ในเวอร์ชัน 2 เนื้อหาของออบเจ็กต์นี้เป็นเอาต์พุต 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.explanationaudits.ID.errorMessageaudits.ID.warnings | แปลงค่า debugStringรายการเป็น 1 ใน 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แทน |