像 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 能力
对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 require
loader.instantiate(
// Binary to instantiate
fetch("optimized.wasm"), // or fs.readFileSync
// or fs.promises.readFile
// or just a buffer
// Additional imports
{ ... }
).then(({ exports }) => {
...
})
发表回复