像 typescript
一样来编写 wasm
程序。AssemblyScript 官方文档
安装
mkdir asm-demo && cd asm-demo
npm init
npm install --save @assemblyscript/loader
npm install --save-dev assemblyscript
初始化
npx asinit .
asm
代码在 assembly/
文件夹中。
AssemblyScript 能力
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 require
loader.instantiate(
// Binary to instantiate
fetch("optimized.wasm"), // or fs.readFileSync
// or fs.promises.readFile
// or just a buffer
// Additional imports
{ ... }
).then(({ exports }) => {
...
})
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。