Hướng dẫn này dành cho những người dùng Lighthouse v2:
- Chạy Lighthouse từ Node hoặc dòng lệnh.
- Dựa vào đầu ra JSON của Lighthouse.
Nếu những điều này không áp dụng cho bạn, thì quy trình làm việc để chạy Lighthouse hầu như giống nhau. Hãy xem bài viết Ra mắt Lighthouse 3.0 để biết thông tin tổng quan về các tính năng và thay đổi mới.
Thay đổi về lệnh gọi
Lighthouse hiện tính toán hiệu suất mô phỏng theo mặc định và các chế độ cài đặt điều tiết đã thay đổi đáng kể.
Cờ CLI
Trường hợp | Cờ v2 | Cờ v3 |
---|---|---|
Chế độ điều tiết 3G trong Công cụ cho nhà phát triển | Không có (hành vi mặc định) | --throttling-method=devtools |
Không điều tiết | --disable-network-throttling --disable-cpu-throttling |
--throttling-method=provided |
Hạn chế băng thông mạng, Không điều tiết CPU | --disable-cpu-throttling |
--throttling-method=devtools --throttling.cpuSlowdownMultiplier=1 |
Chạy quy trình kiểm tra hiệu suất | --perf |
--preset=perf |
Chạy quy trình kiểm tra nội dung hỗn hợp | --mixed-content |
--preset=mixed-content |
Mô-đun nút
Trong Lighthouse phiên bản 3, mô-đun Node chấp nhận các tuỳ chọn cấu hình giống như CLI. Đây là một thay đổi có thể gây lỗi trong trường hợp nhiều tuỳ chọn trong số này bị bỏ qua trong phiên bản 2, trong khi giờ đây, các tuỳ chọn này sẽ thực sự ảnh hưởng đến cách Lighthouse chạy.
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);
}
Thay đổi đầu ra
Định dạng mới, cấp cao nhất trong kết quả JSON
Đối tượng JSON mà Lighthouse v3 trả về hiện chứa 3 thuộc tính cấp cao nhất:
lhr
. Kết quả của các quy trình kiểm tra. Viết tắt của "Kết quả Lighthouse". Về cơ bản, đây là đối tượng cấp cao nhất trong phiên bản 2, nhưng phiên bản 3 cũng giới thiệu các thay đổi có thể gây lỗi đối với hình dạng của đối tượng này. Xem phần Thay đổi đối với đối tượng kết quả.artifacts
. Dữ liệu được thu thập từ Chrome trong quá trình kiểm tra. Trước đây, thuộc tính này được kết hợp với các thuộc tính của LHR.report
. Báo cáo HTML/JSON/CSV đã định dạng dưới dạng chuỗi.
Thay đổi đối với đối tượng kết quả
Như đã đề cập trong phần Định dạng mới, cấp cao nhất trong kết quả đầu ra JSON, kết quả của quy trình kiểm tra không có sẵn thông qua thuộc tính lhr
. Trong phiên bản 2, nội dung của đối tượng này về cơ bản là đầu ra JSON cấp cao nhất. Tuy nhiên, hình dạng của đối tượng này đã thay đổi trong phiên bản 3. Bảng dưới đây liệt kê tất cả thay đổi.
- Nếu một hàng có giá trị trong cả cột v2 và v3, thì tức là bạn nên thay thế mọi tham chiếu đến thuộc tính v2 trong mã bằng thuộc tính tương đương v3.
- Khi một hàng không có giá trị trong cột v3, cột Ghi chú sẽ mô tả các lựa chọn của bạn.
- Xin lưu ý rằng các mục như ID đại diện cho văn bản giữ chỗ.
Tài sản v2 | Tương đương với phiên bản 3 | Ghi chú |
---|---|---|
initialUrl |
requestedUrl |
|
url |
finalUrl |
|
generatedTime |
fetchedTime |
|
reportCategories |
categories |
Thay đổi từ mảng thành đối tượng có khoá. |
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 |
Các giá trị có thể có đã được mở rộng thành
numeric|binary|manual|informative|not-applicable|error .
|
audits.ID.score |
audits.ID.score |
Điểm số luôn là một số từ 0 đến 1 (không phải 0-100) khi scoreDisplayMode là số hoặc nhị phân. Điểm số luôn là null đối với các chế độ hiển thị khác vì không có khái niệm đạt/không đạt.
|
audits.ID.displayValue |
audits.ID.displayValue |
Giờ đây, có thể là một mảng các đối số kiểu printf để nội suy chuỗi. |
audits.ID.debugString |
audits.ID.explanation
audits.ID.errorMessage
audits.ID.warnings
|
Các giá trị debugString đã được chuyển đổi thành một trong ba thuộc tính ở trên
tuỳ thuộc vào ý định của chúng.
|
audits.ID.details |
audits.ID.details |
Cấu trúc của thông tin chi tiết đã thay đổi để dễ sử dụng hơn. Mỗi mục trong .items là một đối tượng có khoá đáng tin cậy thay vì 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 |
Đã xoá. Thay vào đó, hãy sử dụng details .
|