Javascript Lighthouse审计:脚本评估与脚本解析
在chrome开发者工具中运行lighthouse审计时,我收到了以下javascript执行报告。我发现main.js在脚本评估(455ms)方面比脚本解析(5ms)花费了大量时间。但我无法确定这个脚本的评估时间是多少?下载脚本需要多长时间?我怎样才能减少它Javascript Lighthouse审计:脚本评估与脚本解析,javascript,html,performance,google-chrome-devtools,lighthouse,Javascript,Html,Performance,Google Chrome Devtools,Lighthouse,在chrome开发者工具中运行lighthouse审计时,我收到了以下javascript执行报告。我发现main.js在脚本评估(455ms)方面比脚本解析(5ms)花费了大量时间。但我无法确定这个脚本的评估时间是多少?下载脚本需要多长时间?我怎样才能减少它 根据以下Lighthouse参考资料,执行任何JS文件都有四个主要成本: 网络成本 解析和编译成本:JavaScript在主线程上被解析和编译。当主线程忙时,页面无法响应用户输入 执行成本:JavaScript也在主线程上执行。如果您的
根据以下Lighthouse参考资料,执行任何JS文件都有四个主要成本:
- 网络成本
- 解析和编译成本:JavaScript在主线程上被解析和编译。当主线程忙时,页面无法响应用户输入
- 执行成本:JavaScript也在主线程上执行。如果您的页面运行 在真正需要它之前,需要编写大量代码,这也会耽误您编写代码的时间 交互式,这是与用户如何 感知你的页面速度
- 内存成本
- 脚本评估是从解析脚本到执行脚本(主要是将代码加载到内存中)之间的阶段李>
- 未使用的代码会对解析时间产生负面影响,但不会影响计算和执行时间
- 解析时间随着脚本代码大小的增加而增加
- 脚本计算时间随着所用代码量的增加而增加
- Lighthouse仅在脚本影响TTI时才将其标记为阻止主线程。例如,如果在未使用的情况下将10 MBs脚本文件作为渲染阻止资源添加到任何页面,Lighthouse会将其标记为渲染阻止资源,但不会将其标记为阻止主线程问题
- 脚本求值是运行页面需要多少代码的指示器
解决方案可以是将文件分为两个文件,一个是最初应加载的关键文件,另一个可以延迟以优化性能 这是实际运行脚本的时间(它正在被
eval
ed)。拆分文件会减少TTI吗?这将减少TBT,但不确定TTI。