前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航

前端页面性能优化方式

首页
2021-02-08 10:50:03
Front-End
性能优化

# 一、调试工具

# 1、Network

image-20210208102537169

这里可以看到资源加载详情,初步评估影响页面性能的因素。鼠标右键可以自定义选项卡,页面底部是当前加载资源的一个概览。DOMContentLoaded DOM渲染完成的时间,Load:当前页面所有资源加载完成的时间

思考:如何判断哪些资源对当前页面加载无用,做对应优化?

shift + cmd + P 调出控制台的扩展工具,添加规则

image-20210208102549961

监控页面性能变化

image-20210208102650825

# 瀑布流waterfal

image-20210208102723253

  • Queueing 浏览器将资源放入队列时间

  • Stalled 因放入队列时间而发生的停滞时间

  • DNS Lookup DNS解析时间

  • Initial connection 建立HTTP连接的时间

  • SSL 浏览器与服务器建立安全性连接的时间

  • TTFB 等待服务端返回数据的时间

  • Content Download 浏览器下载资源的时间

# 2、Lighthouse

image-20210208102851752

  • First Contentful Paint 首屏渲染时间,1s以内绿色
  • Speed Index 速度指数,4s以内绿色
  • Time to Interactive 到页面可交换的时间

根据chrome的一些策略自动对网站做一个质量评估,并且会给出一些优化的建议

# 3、Peformance

image-20210208102949596

对网站最专业的分析

# 4、webPageTest

可以模拟不同场景下访问的情况,比如模拟不同浏览器、不同国家等等,在线测试地址: webPageTest

image-20210208103032419

image-20210208103054016

# 5、资源打包分析

# webpack-bundle-analyzer

image-20210208103127992

npm install --save-dev webpack-bundle-analyzer
// webpack.config.js 文件
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
module.exports={
  plugins: [
    new BundleAnalyzerPlugin({
          analyzerMode: 'server',
          analyzerHost: '127.0.0.1',
          analyzerPort: 8889,
          reportFilename: 'report.html',
          defaultSizes: 'parsed',
          openAnalyzer: true,
          ge
fe
  • 一、调试工具
    • 1、Network
      • 瀑布流waterfal
    • 2、Lighthouse
    • 3、Peformance
    • 4、webPageTest
    • 5、资源打包分析
      • webpack-bundle-analyzer
      • 开启source-map
  • 二、WEB API
    • 1、监听视窗激活状态
    • 2、观察长任务(performance 中Task)
    • 3、监听网络变化
    • 4、计算DOMContentLoaded时间
    • 5、更多计算规则
  • 三、雅虎军规
    • 1、减少cookie传输
    • 2、避免过多的回流与重绘
  • 四、压缩
    • 1、Gzip
    • 2、服务端压缩
    • 3、JavaScript、Css、Html压缩
    • 4、http2首部压缩
  • 五、webpack优化
    • 1、DllPlugin 提升构建速度
    • 2、splitChunks 拆包
  • 六、骨架屏
  • 七、窗口化
  • 八、缓存
    • 1、http缓存
      • keep-alive
      • Cache-Control / Expires / Max-Age
      • Etag / If-None-Match
      • Last-Modified / If-Modified-Since
    • 2、Service Worker
  • 九、预加载 && 懒加载
    • 1、preload
    • 2、prefetch
    • 3、懒加载
      • 图片
      • 路由懒加载
  • 十、ssr && react-snap
  • 十一、体验优化
    • 白屏loading

← 异步编程入门之RxJs(一)浅析Nginx之try_files →