用途:把 After Effects 的 Bodymovin 动画以 JSON 或压缩的 .lottie 形式交付到 Web、iOS、Android、React Native,用于循环插画、引导页、空状态、动态图标,以及滚动或交互驱动的矢量播放。
主要能力:支持 .json(可读、较大)与 .lottie(压缩容器,常小 60–80%,可打包多动画、图片与主题);新项目推荐 @lottiefiles/dotlottie-web(canvas + WASM),旧 .json + SVG 场景用 lottie-web。提供播放控制 play/pause/stop、setSpeed、setMode(forward/reverse/bounce/reverse-bounce)、setFrame、setSegment,以及 load/complete/frame 事件用于序列编排。支持滚动驱动(autoplay:false + setFrame 映射滚动进度)、运行时主题 setTheme 或手动改色,移动端 lottie-ios、lottie-android、lottie-react-native 概念一致。
使用方式:安装 npm i @lottiefiles/dotlottie-web 或 @lottiefiles/dotlottie-react;用 canvas 与 src 初始化 DotLottie,React 用 DotLottieReact 并通过 dotLottieRefCallback 获取实例控制。声明式交互可用 @lottiefiles/lottie-interactivity。独立 HTML 交付时经 CDN 引入运行时、autoplay:false,并加 ?t=N 定格帧便于截图验证。
限制:手动改色依赖图层结构、较脆弱,优先用主题;文件大小取决于关键帧与路径复杂度而非时长;需处理 prefers-reduced-motion,避免自动循环;AE 部分特性不被支持,需参考导出清单规避。