美文网首页
Web性能优化

Web性能优化

作者: 彭奕泽 | 来源:发表于2018-06-05 19:03 被阅读0次

    1. 优化dns查询

    尽量把资源都放在一个网站,如css、js,尽量减少域名,这样就可以减少dns查询

    2. 优化TCP连接

    • 开启连接复用,在请求头里写keep-alive
    • 使用HTTP/2.0的多路复用

    3. 发送HTTP请求

    • 不滥用cookie,尽量减小cookie体积
    • 使用cache-control(缓存),一段时间内不发送请求,用缓存文件
    • 同时发送多个请求,如css和js,会同时下载提高效率,但和减少dns查询起冲突,所以文件少的时候,可以把所有资源放一个域名里,减少dns查询,但当文件多的时候可以把每8个文件放同一个域名里,这样8个文件以同时请求,减少了请求时间

    4. 接收响应

    • ETag
      服务器检查网页有无更新(md5),没有更新的话就返回304
    • GZip
      用GZip把css、js压缩,再发送

    5. 优化js和css

    • 不要把js、css写在html里,这样js、css文件就可以缓存
    • 合并文件,把多个js合并成一个,减少请求数
    • 把js和css文件都放在cdn,因为距离很远的请求费时很长,把文件放在cdn可解决距离的问题,还可以增加并发下载数
    • 把css放在head里,js放在body最后,因为css不管放在哪都会阻塞html渲染,所以放在前面先下载,js放后面可以让html先显示,并且可以直接获取到节点(因为html已经加载完了)

    6. 延时加载

    • 首先只加载第一屏的内容,让用户可以很快看到第一屏,过20ms或者等用户往下滑再加载下面的内容
    • 加个loading动画

    7. 预加载

    8. 如何测试一个网站

    打开网站,打开控制台的Audits选项

    9. 安装vue-virtual-scroller

    在一个列表特别长时,这个组件会展示固定数量的DOM元素,在你下翻的时候,会把上面的DOM删去加在下面,保证一个页面内不会有过多的DOM造成卡顿。

    npm install --save vue-virtual-scroller
    
    <virtual-scroller class="scroller" :items="files" item-height="86">
      <div slot-scope="{ item }" class="m-a p-v-10 m-t-20 p-h-10">
        <div class="flex j-between a-center">
          <el-progress class="w-8-10" :text-inside="true" :stroke-width="18" :percentage="item.progress*100"></el-progress>
          <div class="text-center w-2-10">
            <span v-if="item.status === 1" class="">上传中</span>
            <span v-else-if="item.status === -1" class=" color-red">{{item.message}}</span>
            <span v-else-if="item.status === 0" class=" color-red">等待中</span>
            <span v-else class="color-48 fs-15">上传成功</span>
          </div>
        </div>
        <div class="m-t-5">
          <span>{{item.name}}</span>
        </div>
      </div>
    </virtual-scroller>
    

    10. 前端压缩

    11. webWorker

    12. 图片延迟加载

    相关文章

      网友评论

          本文标题:Web性能优化

          本文链接:https://www.haomeiwen.com/subject/ykupsftx.html