‣ 让 Nodejs exec Go wasm 的方案,是要把 Go WASM 当作一个 exec command 去执行,这样相当于开了一个进程去执行命令,这不是 WASM 的初衷。

这次我还要把一个 WASM 封装成 NPM 包,既可以在 Nodejs 中运行,也可以在 Browser 中运行。甚至,不需要很多胶水代码以及 WASM 预备知识,就可以让使用者使用!

第一步,还是先了解一下 JS 怎么调用 Go 编译的 WASM。

Go 编译 WASM

不过,一般不使用 Go 去编译 WASM,因为编译出来的 WASM 太大了,是 TinyGo 编译的 10 倍

使用 TinyGo 编译 WASM

一般,到这里就可以了。

你已经学会在怎么在 Browser 和 Nodejs 使用 TinyGo 编译的 WASM 文件。

但是,如果你在开发一个库,需要打包 WASM 作为 NPM,就需要给使用者一个良好的体验:

cross-wasm 方案

使用 cross-wasm 例子