通过|通过 AssemblyScript 编写 wasm

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 【通过|通过 AssemblyScript 编写 wasm】通过 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 }) => { ... })

    推荐阅读