前端性能优化二十一:静态文件打包方案

1. 打包方案落地:

. 公共组件拆分:
    a. 业务中有N个js文件,把公用的js文件抽离出来,做成组件.
    b. 其它文件直接调用这个组件即可.
    c. 在用户访问时,js文件的大小是比较少的.
    d. 公用部分在其它页面也不用再加载,直接走cdn文件的缓存即可.. 压缩:
    JSCSS、图片

③. 合并:
    a. 一个业务页面可能有N个css、js、图片文件.
    b. 进行js、css文件、图片合并后,可以将多个小文件请求合并为一个大文件请求.
    c. CSS Sprite

④. 服务端处理方案:
    a. Combo:
       (1). js、css文件Combo,http://cdn.com/??a.js,b.js
       (2). 服务端会自动把a.js和b.js合成,可以减少开发成本.

2. 静态文件版本号更新策略?

. 缓存更新:
    a. 把一个文件放到cdn上之后,每个文件都有缓存时间.
    b. 一般进入cdn后台、nginx后台刷新文件路径,后台的shell脚本就会更新对应文件header头中缓存配置信息.
    c. 等这个缓存时间过了后,用户本地就会请求到最新文件内容.
    d. 问题是如果上线的项目、bug,用户看到的还是旧的.. 版本号:
    a. 在文件后面加一个版本号用于区分:
       (1). 文件name.v1-v100.js
    b. 按功能区分:
       (1). 大功能迭代每次新增一个大版本,如由v1到v2
       (2). 小功能迭代新增加0.0.1或者0.1.0,如从v1.0.0至v1.0.1
    c. 在迭代过程中,线上可能会有多个版本存在,可以在一个时间点通过nginx统一配置所有版本至最新版.. 静态文件版本号更新策略:
    a. 时间戳格式:
       (1). 时间戳.文件name.js
       (2). 以每次上线时间点做差异.
       (3). 如果是将文件夹以时间戳命名,有些不需要改变的文件,也会重新加载一次.
    b. 文件hash格式:
       (1). 文件hash.文件name.js
       (2). 以文件内容hash值做key,每次上线文件路径不一致. => 如果文件内容变更,hash就会变.
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值