以编程方式使用Lighthouse参数说明

1,664 阅读2分钟

版本:6.1.1

例如:

lighthouse(url, options);

options参数概览:

{
 	// 输出的文件类型 [choices: "json", "html", "csv"] [default: "html"]
    "output": "html",
    // 在认为完成Fcp并应继续运行之前等待的超时(毫秒)
    "maxWaitForFcp": 30000,
     // 在认为页面加载完成并应继续运行之前等待的超时(毫秒)。警告:非常高的值可能导致较大的跟踪和不稳定性[default: 45000]
    "maxWaitForLoad": 45000,
    // 控制节流方法         [choices: "devtools", "provided", "simulate"]
    "throttlingMethod": "simulate",
    "throttling": {
    // 控制模拟网络RTT(往返时延)(TCP层)
        "rttMs": 150,
        // 控制模拟网络下载吞吐量
        "throughputKbps": 1638.4,
        // 控制模拟网络RTTHTTP层)
        "requestLatencyMs": 562.5,
        // 控制仿真网络下载吞吐量
        "downloadThroughputKbps": 1474.5600000000002,
        // 控制仿真网络上传吞吐量
        "uploadThroughputKbps": 675,
        // 控制模拟+仿真的CPU调节
        "cpuSlowdownMultiplier": 4
    },
    // 从磁盘处理保存的工件     [boolean]
    "auditMode": false,
    // 从连接的浏览器收集工件并保存到磁盘。如果未启用审核模式,则运行将退出很早。   [boolean]
    "gatherMode": false,
    // 禁止在运行前清除浏览器缓存和其他存储API    
    "disableStorageReset": false,
    // 如果未禁用,则控制模拟设备因素选项有(mobile vs. desktop) [choices: "mobile", "desktop", "none"] [default: "mobile"]
    "emulatedFormFactor": "mobile",
    // 内部禁用设备屏幕模拟
    "internalDisableDeviceScreenEmulation": false,
    // 运行渠道
    "channel": "node",
    // 性能预算,以数组形式进行传递
    "budgets": null,
    // 语言,例如中国 zh-CN
    "locale": "en-US",
    // 阻止对指定URL模式的任何网络请求
    "blockedUrlPatterns": null,
    // 要使用跟踪捕获的其他类别(逗号分隔)。
    "additionalTraceCategories": null,
    // 将额外的HTTP头设置为随请求传递
    "extraHeaders": null,
    // 暂时未找到这个属性的说明
    "precomputedLanternData": null,
    // 在最终报告中只包括指定的审核
    "onlyAudits": null,
     // 只运行指定的类别。可用类别:可访问性,
    "onlyCategories": [
        "performance"
    ],
    // 从最终报告中排除指定的审核
    "skipAudits": null
}

附:

模拟:simulation,是抽象出一个物理的或系统的某些行为特征,用另一系统来表示他们的过程并产生结果,倾向于对抽象系统的设计。

仿真:emulation,是在原来的硬件基础上,对现实输入信号的模仿,使系统执行同样的程序,获取同样的结果,倾向于对输入信号的测试。"仿真"的要求比"模拟"高很多,实现起来的难度也相应大很多。