Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么谷歌页面速度洞察说要缩小JS_Javascript_Minify_Google Pagespeed_Pagespeed Insights - Fatal编程技术网

Javascript 为什么谷歌页面速度洞察说要缩小JS

Javascript 为什么谷歌页面速度洞察说要缩小JS,javascript,minify,google-pagespeed,pagespeed-insights,Javascript,Minify,Google Pagespeed,Pagespeed Insights,我曾运行过Google Page Speed Insights,他们的主要建议是缩小js文件,节省70%以上(确切地说,从423 KB减少到312 KB),这太疯狂了 但是文件被缩小了!我错过了什么 资源: 网页- 附言。 我在SO上也遇到过其他类似的问题,但这两个问题都与我的问题相似。谷歌页面速度洞察应该略知一二 它可以让你对大量问题有一个非常高的认识,但一旦你开始优化事情,它就不起作用了。它认为你的js文件很大,最小化它会有所帮助。事实上,它不能说你已经把它最小化了 有一次,有人告诉我

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

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

资源:

  • 网页-
附言。 我在SO上也遇到过其他类似的问题,但这两个问题都与我的问题相似。

谷歌页面速度洞察应该略知一二 它可以让你对大量问题有一个非常高的认识,但一旦你开始优化事情,它就不起作用了。它认为你的js文件很大,最小化它会有所帮助。事实上,它不能说你已经把它最小化了


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

我建议浏览缩小的文件并寻找人类可读的JS标记

从我所看到的,测试主要关注JS令牌的长度

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

如果没有摆脱它们的设置,请尝试识别它们来自何处,以及它们与成功缩小的其他令牌有何不同。罪魁祸首可能是编码模式、框架或transpiler

注意:源代码是从他们的帮助页面链接的()

我把你的代码(美化过的)放进了几个迷你程序,他们会在第19956行抛出一个错误{。PSI使用的缩小器很可能在该点被切断,返回的文件大小远小于总文件大小,然后将其与实际文件大小进行比较,并返回错误的差异。公平地说,是1.6MB(未压缩)由于移动CPU上的解析时间,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.
 */