Skip to content

Latest commit

 

History

History
56 lines (34 loc) · 3.04 KB

34.md

File metadata and controls

56 lines (34 loc) · 3.04 KB

34 · 页面加载了多少没用到的代码

由 pnpm docs:lessons 生成。内容源:src/data/performance.json;生成与共同合同:scripts/generate-performance.mjs。本页包含教师参考答案。

学习目标与原理

使用 Coverage,理解观察范围和按需加载。Coverage 的未使用仅针对本次录制窗口和已执行路径;应先扩大观察,再决定拆分,而非直接删除。

建立测量边界

录制首页后进入详情和结算,使用范围会变化。

把时间关联到原因

JS 与 CSS 的覆盖范围、字节和功能正确性需要分别检查。

用同一条件验证

按需加载延后请求;必须验证新路径仍可用。覆盖率变好不自动等于用户体验改善。

交互演示

随操作观察覆盖范围变化。先预测输入变化会影响哪个阶段;只改变一个条件,比较输出与观察范围;将模型线索对应到真实录制。模型不计实战完成。

商城实战

首页提前下载了只在详情和结算才用到的资源。

  1. 从课程准备商城;固定视口、CPU / Network 与缓存条件,再开始录制。
  2. 打开 Coverage 并从刷新开始录制,先只观察首页资源。
  3. 继续点击打开商品详情和打开结算页,比较 JS / CSS 的使用范围。
  4. 应用对照后用 Network 核对加载时机,并实际验证详情和结算正常。不要依据单次红色直接删除代码。
  5. 保存故障与对照证据;错误方案不能记录修复。
  6. 回教程选择原因、证据与验证,并记录测量条件和不确定范围。

独立挑战与答案

提出按需加载并验证其他流程。输入与故障随机变化;可能再次抽到同一类。

配置 根因 证据 针对性验证
配置1 首页提前加载详情与结算模块 未打开详情已经请求 details.js / checkout.js,许多函数未执行 进入对应流程时再加载模块
配置2 首页提前加载只用于详情的样式 themes.css 已下载但详情选择器未匹配首页 进入详情时再加载专用样式
干扰项 只凭总耗时或颜色猜测 没有与本次操作对应的实际证据 改变所有条件且不复测

三级提示

  1. 先区分加载、交互、稳定性和绘制成本,不把所有慢归给网络。
  2. 继续点击打开商品详情和打开结算页,比较 JS / CSS 的使用范围。
  3. 比较两种解释:首页提前加载详情与结算模块;首页提前加载只用于详情的样式。保持输入与条件一致,再核对针对性对照。

边界、恢复与来源

正常结果要保持 SKU、数量与业务校验值一致;对照只改变本课对应成本。先固定条件再录制,停止录制后保存 trace;恢复限速、Rendering 高亮和媒体模拟。CPU / 帧率结果按实际观测和多轮趋势解释,不能把课堂耗时当线上目标。

共同合同 · 验收记录 · 官方参考。