Googleオープンソースの自動化ツールLightHouseの使用

2101 ワード

LightHouse


LightHouseはGoogleオープンソースの自動化ツールで、主にネットワークアプリケーション(モバイル端末)の品質を改善するために使用されています.
現在の試験項目は、 PWA ( ) SEOを含む.Lighthouseは、各テスト項目の結果を採点し、GoogleのWebページのベストプラクティスと見なすことができる最適化アドバイスを提供します.

使用方法


LightHouseには3つのワークフローがあります
  • Chrome開発者ツール
  • コマンドライン(Node.js)
  • Chrome拡張プログラム
  • Chrome開発ツール


    F 12を押して開発者ツールを開き、Auditsタブを選択します
    Run auditsをクリックしてください.

    コマンドライン(Node.js)


    需要:Node.js >= 5
  • グローバルインストールライトハウス
  • npm install -g lighthouse
    
  • ページを入力して
  • lighthouse https://example.comlighthouse 会自动生成 HTML 报告,你也可以使用 JSON 格式。

    Chrome拡張プログラム

    安装地址:安装地址

    在右上角或者菜单里点击图中图标,Options可以配置测试项目,点击Generate report即可测试。

     

    テスト結果の例

    パフォーマンスの最適化の機会

    在Performance的Opportunities Lighthouse会给出可以加快页面加载速度的优化建议。

    在Performance的Diagnostics Lighthouse会给出有关应用程序性能的更多信息。

    一些常见的优化:

    1.删除不必要的资源

    例如注释,空白等等。

    2.使用有效的缓存策略

    Lighthouse 中的低效缓存策略审查使我们注意到,我们可以通过优化缓存策略实现这一目标。通过在我们的服务器中设置 max-age 过期头,我们可以确保在重复访问情况下,用户可以重用他们之前下载的资源。

    理想情况下,你应该在尽可能长的时间内尽可能安全地缓存尽可能多的资源,并提供验证令牌,以便高效地重新验证已更新的资源。

    3.使用被动事件监听器以提升滚动性能

    被动事件是新兴的Web标准,可以显著提高滚动性能,尤其在移动设备上。当使用touch事件监听器(scroll事件不存在这个问题)进行滚动时,因为浏览器不知道你是否会取消滚动,它们总是等待监听器执行完毕后才开始滚动,这样就造成了明显的延迟。事件监听器options中使用passive:true表明监听器永远不会取消滚动,这样浏览器就可以立即滚动。 在支持被动事件侦听器的浏览器中,将侦听器标记为passive即可:

     document.addEventListener('touchstart', onTouchStart, {passive: true});

    4.画面外の画像をリロードする

    結果


    これらの最適化措置をウェブサイトに適用することで、ウェブサイトのLighthouse表現の得点は30から91に上昇した.スピードの面でかなりの進歩を遂げた.
     
    参考資料:
    https://juejin.im/post/5bf8ef7d51882517165daf99#heading-11
    https://juejin.im/post/5a7ec3eaf265da4e9449af03#heading-30