美文网首页
前端资源优化解决方案

前端资源优化解决方案

作者: small_zeo | 来源:发表于2021-01-30 10:30 被阅读0次

    前言

    常见的资源优化方案有:
    1.资源压缩与合并
    2.图片格式优化
    3.图片加载优化

    资源压缩与合并

    为什么要压缩与合并

    1.减少http请求数量
    请求越多,资源越多,占用的网络开销越大

    2.减少请求资源的大小
    加载资源越小请求速度越快

    如何实现资源压缩与合并

    1.HTML压缩
    使用在线工具进行压缩
    使用html-minifier等npm工具(http://kangax.github.io/html-minifier/)

    2.CSS压缩
    使用在线工具进行压缩
    使用clean-css等npm工具(http://kangax.github.io/html-minifier/)

    3.JS压缩与混淆
    使用在线工具进行压缩
    使用webpack对JS在构建时压缩

    4.CSS 、JS文件合并
    若干小文件可以考虑文件合并
    主要还是考虑用户体验进行文件合并

    图片资源优化

    图片优化的方案

    1.如何选择正确的图片格式
    JPG/JPEG的优点: 很高的压缩比,画质很好的保存,适用于大图,banner图。
    JPG/JPEG的缺点:对画质要求高的应用,画质不细腻,会出现失真的现象。

    PNG的优点:矢量图不失真。
    PNG的缺点:体积较大,适合做些小图标,logo。
    PNG压缩推荐插件: imagemin-pngquant(https://github.com/imagemin/imagemin-pngquant)

    2.图片大小选择合适,图片不要过大,会浪费不必要的开销
    3.压缩
    imagemin在线压缩(https://imagemin.saasify.sh/)
    imagemin插件(https://github.com/imagemin/imagemin)

    图片加载优化(lazy loading)

    1.原生的图片懒加载方案
    <img loading="lazy" src="****" />
    
    2.第三方图片懒加载方案

    verlok/lazyload(https://github.com/verlok/vanilla-lazyload)
    yall.js(https://github.com/malchata/yall.js#readme)
    Blazy(https://github.com/dinbror/blazy)

    3.使用渐进式图片

    低像素到高像素转换,用户体验会好些
    渐进式图片推荐插件: progressive-image( https://github.com/ccforward/progressive-image
    )

    4.使用响应式图片

    适配不同屏幕的尺寸

    <img src="imgSrc-200.jpg" sizes="50vw" srcset="imgSrc-100.jpg 200w,
     imgSrc-400.jpg 400w, imgSrc-1000.jpg 1000w" >
    

    srcset属性的使用: 根据不同图片下载不同的图片,响应式加载体验
    sizes属性的使用: 指定大小

    相关文章

      网友评论

          本文标题:前端资源优化解决方案

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