【问题标题】:Why Google Page Speed Insights say to minify JS为什么 Google Page Speed Insights 说要缩小 JS
【发布时间】:2019-10-08 16:00:11
【问题描述】:

我运行了 Google Page Speed Insights,他们的主要建议是缩小 js 文件,节省 70% 以上(准确地说是从 423 KB 到 312 KB),这太疯狂了。

但是文件被缩小了!我错过了什么?

资源:

附: 我已经解决了关于 SO 的其他类似问题,但都与我的问题不相似。

【问题讨论】:

  • 我将您的代码(美化)通过了几个压缩器,它们将在第 19956 行 class A $extends V { 上抛出错误。奇怪的是,PSI 使用的 Minifier 在该点被切断并返回比总文件大小小得多的文件大小,然后将其与实际文件大小进行比较并返回错误的差异。公平地说,由于移动 CPU 上的解析时间,一个 1.6MB(未压缩)的 JS 文件似乎有点大,所以无论如何都值得查看该文件,看看是否可以从中删除一些内容。

标签: javascript minify google-pagespeed pagespeed-insights


【解决方案1】:

Google Page Speed Insights 应谨慎使用

它可以让您对大量问题有一个非常高层次的看法,但是一旦您开始优化事物,它就达不到要求了。它认为您的 js 文件很大,将其最小化会有所帮助。它实际上并不能说明您已经将其最小化了。

我曾经告诉我对单个缓存的 2k SVG 文件使用 gzip 压缩。还有一次,它要求我缩小网站正在使用的 200 个左右的 12k jpeg。它不是很聪明 - 在第一种情况下它浪费了我的时间,在第二种情况下有一个更好的答案(使用精灵表)但它无法深入了解。

【讨论】:

    【解决方案2】:

    我建议浏览您的缩小文件并寻找人类可读的 JS 令牌。

    据我所知,测试主要是看JS令牌长度。

    https://github.com/GoogleChrome/lighthouse/blob/master/lighthouse-core/audits/byte-efficiency/unminified-javascript.js

    /**
     * @fileOverview Estimates minification savings by determining the ratio of parseable JS tokens to the
     * length of the entire string. Though simple, this method is quite accurate at identifying whether
     * a script was already minified and offers a relatively conservative minification estimate (our two
     * primary goals).
     *
     * This audit only examines scripts that were independent network requests and not inlined or eval'd.
     *
     * See https://github.com/GoogleChrome/lighthouse/pull/3950#issue-277887798 for stats on accuracy.
     */
    

    如果您在缩小文件中看到人类可读的标记,请尝试查看您的缩小器设置,看看是否有可以切换的选项来消除这些标记。

    如果没有设置可以消除它们,请尝试确定它们的来源以及它们与其他成功缩小的令牌有何不同。罪魁祸首可能是编码模式、框架或转译器。

    注意:源代码链接自他们的帮助页面 (https://web.dev/unminified-javascript/)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-01
      • 2015-08-20
      • 1970-01-01
      • 2020-10-26
      • 2012-06-26
      • 2023-01-17
      相关资源
      最近更新 更多