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傳入, 遇到非法數據會直接拋出異常

 

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