# SVGAPlayer-Web-Lite
这是一个 SVGA 在移动端 Web 上的播放器,它的目标是 **更轻量**、**更高效**,但它也放弃了对旧版本浏览器的兼容性支持。
## 依赖 Promise
若出现 `Promise is not a constructor` 等问题,外链 polyfill 或配置 babel 进行兼容
```html
<script src="https://cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.auto.min.js"></script>
```
## 实现
- [x] 体积 = 55kb (gzip = 18kb)
- [x] 兼容 Android 4.4+ / iOS 9+
- [x] 更好的异步操作
- [x] 多线程 (WebWorker) 解析文件数据
- [x] OffscreenCanvas
## 实验性
- [ ] 渲染引擎模拟运行在 WebWorker
- [ ] 使用 WebAssembly 替代 WebWorker
- [ ] GPU 加速运算
## 差异
* 不支持声音播放
## 安装
### NPM
```sh
yarn add svga.lite
# 或者
npm i svga.lite
```
### CDN
```html
<script src="https://cdn.jsdelivr.net/npm/svga.lite/svga.lite.min.js"></script>
```
## 使用
### 简单使用
```html
<canvas id="canvas"></canvas>
```
```js
import { Downloader, Parser, Player } from 'svga.lite'
const downloader = new Downloader()
// 默认调用 WebWorker 线程解析
// 可配置 new Parser({ disableWorker: true }) 禁止
const parser = new Parser()
// #canvas 是 HTMLCanvasElement
const player = new Player('#canvas')
;(async () => {
const fileData = await downloader.get('./xxx.svga')
const svgaData = await parser.do(fileData)
player.set({ loop: 1 })
await player.mount(svgaData)
player
// 开始动画事件回调
.