zoukankan      html  css  js  c++  java
  • 优化前端单页面应用性能指南

    ​对于单页面应用来说,最理想的情况是每个路由的页面性能都是最佳的。

    如果以此为目标,如何实现呢?

    全局性方案

    1. 减少文件大小,包括js,图片,css等;具体的方法可以采用压缩css、js文件;也可以压缩图片,当然还可以使用雪碧图
    2. 采用tree shaking方式进一步减少js文件大小
    3. 限制首屏加载资源的请求数或者采用多域名请求资源:以谷歌浏览器为例,默认同时请求资源的上线数是4个,可以通过多域名突破这个限制
    4. 通过webpack对文件进行拆包,然后利用浏览器可以同时请求的机制加快资源加载
    5. 采用CDN,加速资源请求
    6. 开启Gzip,进一步减小传输文件大小
    7. 采用预渲染或者服务端渲染的方案:JS驱动靠后
    8. webpack对第三方依赖采用按需引入

    针对性的优化措施

    1. 除了首屏其他采用异步路由的方式
    2. 对于组件来说如果引入了某个特定的js,可以利用createElement的方式动态引入js;理论上对于css也可以这种动态方案
    3. 对于图片来说采用懒加载的方式
    4. 局部组件也采用异步组件方案

    5. 采用keep-alive

    6. 采用函数式组件

    7. 可以采用http2.0 进行服务端主动推动

    利用缓存机制

    1. 利用server worker
    2. 利用max-age
    3. 利用if-modified-since和e-tag

    总结:开发同样是戴着镣铐跳舞,最好的性能一定是在浏览器能力范围之内的;浏览器对请求数有限定,对请求的资源大小有限制,对渲染的资源也有限制。最好的性能应该兼顾用户体验的情况下,请求的资源足够必要尽量小,渲染的内容足够必要也足够克制。资源要么一次请求要么分步请求。

    我站在山顶看风景!下面是我的家乡!
  • 相关阅读:
    android开发之gridlayout使用入门
    android开发之merge结合include优化布局
    android开发布局优化之ViewStub
    FindBug:Call to static DateFormat
    SimpleDateFormat的使用问题
    某P2P开发商ERP系统核心业务介绍
    某P2P开发商ERP系统核心业务介绍
    xtu字符串 C. Marlon's String
    学渣乱搞系列之扩展KMP的那点事
    xtu字符串 D. 病毒侵袭
  • 原文地址:https://www.cnblogs.com/zhensg123/p/14651109.html
Copyright © 2011-2022 走看看