lottie-minify 针对播放场景的lottie json裁剪库

 

原文链接: lottie-minify 针对播放场景的lottie json裁剪库

上一篇: SourceTree git 工具

下一篇: 从npm上撤销/删除自己发布的包

https://www.npmjs.com/search?q=lottie-minify

import { minify } from 'lottie-minify';
const miniData = minify(data, config);

{
  copy: false,    // 是否传入后拷贝, 使用JSON.parse拷贝一份
  dropKeyList: defaultDropKeyList, // 需要删除的key列表
  numberFixLength: 3, // 数字精度
};

主要思想是针对播放场景, 去除编辑时用的信息, 注意只能保证播放没问题, 输出的json不能用于编辑!!!!

对于蚂蚁那个简单的lottie, 在保持可以播放的情况下, 可以压缩到30%左右

    lottie: old: 259352, mini:75766, del:183586, rate:29.21%

 

删除图层名称

限定小数精度, 一般三位就足够了, 也可以设置两位

修改id:refId映射

不对图片做处理, 图片处理太多样了, 还是自己手动来吧

 

https://github.com/fancy-lottie/lottie-compress/blob/master/src/main.ts

lottie-compress中对这个映射是做了两遍遍历的, 但是我直接一个dfs就能完成所有的数据修改, 由此可见数据结构和算法还是有一丢丢用处的

 

注意一个小问题, 播放后的json中有一些播放信息的, 不要将播放后的json传入, 遇到非法数据会直接抛出异常

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章