<h1 align="center">waft-web</h1>

<h5 align="center">v1.2.x</h5>

<div align="center">
waft-web是基于WebAssembly的AIoT应用框架——Waft，在Web端的容器。
</div>
<br>

## cli快速开始

```bash
npm install waft-cli -g
waft init
cd my-project
waft start
```

## 安装

```bash
npm npm build
```

## 文档

[waft开发者文档](https://www.yuque.com/waft/docs/ubi8k4)

## waft-bridge
waft-web的bridge会通过window['WaftBridgeRegister'] 暴露出去，可以通过以下方式进行注册
```typescript
declare type WaftBridgeRegisterFunc = (moduleName: string, instance: any) => void;

const waftBridgeRegister = window['WaftBridgeRegister'] as WaftBridgeRegisterFunc;
const myModule = {
  action1: ()=>{},
  action2: ()=>{}
};
waftBridgeRegister('myModule', myModule);
```

## preview模式
本地预览模式，build会单独打出文件waft-web-preview.js，仅在预览preview.html加载

## 生产环境

### 直接加载目录下app.wasm
```html
<script async>
  WaftRender({
    bundle: "./app.wasm",
    viewport: $$_view_port_$$
  });
</script>
```
### 猫精protocol解析加载（Beta）
当存在genie_data_id和genie_biz_code字段时，会走技能协议解析模式
技能协议解析模式，build会单独打出文件waft-web-protocol.js，可在index.html加载
```html
  <script src="./waft-web-protocol.js"></script>
```


