像 typescript
一样来编写 wasm
程序。AssemblyScript 官网文档
装置
mkdir asm-demo && cd asm-demonpm initnpm install --save @assemblyscript/loadernpm install --save-dev assemblyscript
初始化
npx asinit .
asm
代码在 assembly/
文件夹中。
AssemblyScript 能力
对wasm的反对状况
JSON的解决方案
RegExp的解决方案
Date的解决方案
Compiler
--target 指定打包时所用的配置。默认 release. 产生的 wasm 会多一些全局变量。--optimize, -O 优化。在包大小和打包速度上进行优化。--outFile, -o [path] 输入。--textFile, -t [path] 仅输入 wat 格式文件。
反对 asconfig.json
配置文件。
浏览器环境也能够应用 asm sdk
。
require( ["https://cdn.jsdelivr.net/npm/assemblyscript@latest/dist/sdk"], function(sdk) { const { asc } = sdk; asc.ready.then(() => { asc.main(...); }); });
查看更多
应用 loader
通过 loader
加载 wasm
并实例化。
import loader from "@assemblyscript/loader"; // or requireloader.instantiate( // Binary to instantiate fetch("optimized.wasm"), // or fs.readFileSync // or fs.promises.readFile // or just a buffer // Additional imports { ... }).then(({ exports }) => { ...})