@aarsteinmedia/lottie-web

中文文档
1.6.9发布于 2026/11/03GPL-2.0-or-laterTypeScriptES Module零依赖近 30 天下载 1.4万

在浏览器中播放在 After Effect 中生成的动画

中文使用文档
文档目录9 节
  1. 为什么这个叉子存在
  2. 安装
  3. 入境点
  4. 基本用途
  5. 内置动画数据
  6. SVG 唯一的捆绑( 小)
  7. 活动
  8. 发展
  9. 许可证

AM 乐天网

Airbnb 的脚本分叉 乐天网,为 Aarstein 媒体点 Lottie 播放器生态系统。 。 。 .

为什么这个叉子存在

  • 更安全的表达方式 - 在效果表达式被评价后 new Function 改为 eval,这略微改善了安全和性能。 然而,对于不信任的投入, /light 建议.
  • 经济进口 – 这个软件包坚持模块化设计理念,提供颗粒导入,以免在应用程序中获得任何不需要的bloat — 只要你继续阅读.
  • 更好的相片渲染 – 虽然Canvas渲染不像SVG渲染那样多功能,但它更能表现并更有利于大多数浏览器处理视觉元素. 这个叉子有更好的DPR处理和更广泛的Canvas渲染器特性支持.
  • 方便安全部门改革 – 浏览器和Web API的用法为节点和服务器渲染而守护.
  • 更好的错误 ——失败通过打出的事件浮出水面,而不是沉默地失败.

此软件包主要是为 @aarsteinmedia/dotlottie-player 财务报告和审定财务报表 @aarsteinmedia/dotlottie-react. 其他使用案例得到支持,但继承自上游Lottie-web行为.

安装

pnpm add @aarsteinmedia/lottie-web

如果您使用点Lottie的切入点,请同时安装对等依赖:

pnpm add fflate

入境点

在这里读这整件事都有好处。 还记得我说的模块设计吗? 就是这样.

导入说明
@aarsteinmedia/lottie-web完全构建: SVG + 画布渲染器,效果和表达式
@aarsteinmedia/lottie-web/light只有 SVG 渲染器, 没有表达式
@aarsteinmedia/lottie-web/svgSVG 有表达式的渲染器
@aarsteinmedia/lottie-web/canvas带有表达式的相机
@aarsteinmedia/lottie-web/utils共享助手和词库
@aarsteinmedia/lottie-web/dotlottiedot Lottie 存档公用事业

基本用途

import lottie, { loadAnimation } from '@aarsteinmedia/lottie-web'
import type { AnimationItem } from '@aarsteinmedia/lottie-web'
import { PlayerEvent } from '@aarsteinmedia/lottie-web/utils'

const container = document.getElementById('animation')

const animation: AnimationItem = loadAnimation({
  container,
  renderer: 'svg',
  loop: true,
  autoplay: true,
  path: '/animations/hero.json',
})

animation.addEventListener(PlayerEvent.Complete, () => {
  console.log('Animation finished')
})

// Later
animation.destroy()

内置动画数据

import animationData from './animation.json'

const animation = loadAnimation({
  container: document.getElementById('animation'),
  renderer: 'svg',
  animationData,
  autoplay: false,
})

SVG 唯一的捆绑( 小)

import lottie from '@aarsteinmedia/lottie-web/svg'

活动

AnimationItem 扩展小事件发射器。 共同活动包括:

活动当它起火时
DOMLoaded动画已经准备好播放了
enterFrame每个框架
complete回放到达尾端
loopComplete循环迭代完成
configError无效的配置或数据
renderFrameError帧无法渲染
destroy动画被撕了

导入事件名称 @aarsteinmedia/lottie-web/utils数字 :

import { PlayerEvent } from '@aarsteinmedia/lottie-web/utils'

animation.addEventListener(PlayerEvent.RenderFrameError, (event) => {
  console.error(event?.nativeError)
})

发展

pnpm install
pnpm dev        # preview player with live reload
pnpm lint       # eslint
pnpm test       # vitest
pnpm prod       # typecheck + production build
pnpm check      # lint, test, build, and verify version injection

pnpm dev 需要一个本地 assets/ 样本目录 .json 编号 : .lottie 文件( 此回波跟踪一个同名链接到同名兄弟) lottie-fixtures 文件夹). 试验使用固定装置 tests/lottie-fixtures/ 而不依赖 assets/。 。 。 .

许可证

GPL2.0-或后发. 如果你发行合并作品或衍生作品,请查看上游Lottie-web许可的影响.

版本与发布记录

@aarsteinmedia/lottie-web 共发布 105 个版本,首次发布于 2025/03/24;过去 12 个月发布了 40 个版本。

版本发布日期距今
1.6.9latest2026/11/033 天前
1.6.82026/11/033 天前
1.6.72026/11/033 天前
1.6.62026/10/2412 天前
1.6.52026/10/0729 天前
1.6.42026/10/0730 天前

关于 @aarsteinmedia/lottie-web 的常见问题

@aarsteinmedia/lottie-web 是什么?

在浏览器中播放在 After Effect 中生成的动画

如何安装 @aarsteinmedia/lottie-web?

在项目目录运行 npm install @aarsteinmedia/lottie-web,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:fflate(^0.8.3)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@aarsteinmedia/lottie-web 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@aarsteinmedia/lottie-web 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@aarsteinmedia/lottie-web 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@aarsteinmedia/lottie-web 可以商用吗?

@aarsteinmedia/lottie-web 使用 GPL-2.0-or-later 许可。强 Copyleft:分发包含该代码的软件时,整个作品需以兼容的 GPL 许可开源。仅在内部使用、不对外分发时不触发此义务。以上为概括,不构成法律意见,请以许可原文为准。

@aarsteinmedia/lottie-web 的下载量有多少?

根据 npm 官方下载统计,@aarsteinmedia/lottie-web 在 2026/10/05 – 2026/11/03 这 30 天内被下载 13,593 次,日均约 453 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@aarsteinmedia/lottie-web 还在维护吗?

最新版本 1.6.9 发布于 2026/11/03(3 天前);至今共发布 105 个版本,其中过去 12 个月发布了 40 个;首次发布于 2025/03/24。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。