คู่มือการย้ายข้อมูล Lighthouse v3

คู่มือนี้มีไว้สําหรับผู้ใช้ 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 ขณะตรวจสอบ ซึ่งก่อนหน้านี้จะรวมอยู่ในพร็อพเพอร์ตี้ของ LHR
  • report. รายงาน 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 แทน