Hướng dẫn này dành cho những người dùng Lighthouse phiên bản 2:
- Chạy Lighthouse từ Nút hoặc dòng lệnh.
- Dựa vào kết quả JSON của Lighthouse.
Nếu bạn không gặp trường hợp này, thì quy trình chạy Lighthouse gần như sẽ giống nhau. Hãy xem bài viết Công bố 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 lời gọi
Theo mặc định, Lighthouse tính toán hiệu suất được mô phỏng và các chế độ cài đặt điều tiết đã được thay đổi đáng kể.
Cờ CLI
Trường hợp | Cờ v2 | Cờ v3 |
---|---|---|
Điều tiết 3G cho 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 |
Điều tiết 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 Nút chấp nhận các tuỳ chọn cấu hình tương tự như CLI. Đây là một thay đổi có thể gây lỗi theo nghĩa là nhiều tuỳ chọn trong số này đã bị bỏ qua trong phiên bản 2, nhưng giờ đây, các tuỳ chọn này thực sự 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 về đầu ra
Định dạng mới, cấp cao nhất trong đầu ra JSON
Đối tượng JSON mà Lighthouse phiên bản 3 trả về hiện chứa 3 thuộc tính cấp cao nhất:
lhr
. Kết quả 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 v2, nhưng v3 cũng đưa ra 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 khi kiểm tra. Trước đây, bộ công cụ này được kết hợp với các thuộc tính của LHR.report
. Báo cáo được định dạng HTML/JSON/CSV dưới dạng chuỗi.
Các thay đổi đối với đối tượng kết quả
Như đã đề cập trong Định dạng mới, cấp cao nhất trong đầu ra JSON, kết quả 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ả các thay đổi.
- Nếu một hàng có giá trị trong cả cột v2 và v3, điều đó có nghĩa là bạn nên thay thế mọi tham chiếu đến thuộc tính v2 trong mã của mình bằng thuộc tính tương đương với v3.
- Khi một hàng không có giá trị trong cột v3, cột Ghi chú sẽ mô tả các tùy 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 phiên bản 2 | Tương đương 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 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ố nằm trong khoảng từ 0 đến 1 (không phải từ 0-100) khi scoreDisplayMode ở dạng 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 |
Bây giờ 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 các giá trị đó.
|
audits.ID.details |
audits.ID.details |
Cấu trúc chi tiết đã chuyển sang mang tính tiêu dùng nhiều hơn. Mỗi mục nhập trong .items là một đối tượng có cá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 .
|