我正在构建一个npm软件包,其中包含一些从Emscripten模块“胶水代码”中加载的WebAssembly。
目前,WASM是通过静态指定的URL从粘合代码中获取的
// emscripten glue code
import rppgLoader from './set_asm.js';
async load() {
// load webassembly code
this.instance = rppgLoader({
locateFile(path) {
return `${process.env.PUBLIC_URL}/wasm/set_asm.wasm`;
}
});
此URL是特定于应用程序的,因此与必须包含所有内容且与大多数构建系统(webpack,browserify,...)兼容的npm模块不兼容
[我尝试遵循Google工程师@surma的a gist,其目的是使wasm / emscripten和webpack协同工作,但没有运气(请参阅要点的最后评论)
我想要实现的是对用户透明的npm模块。例如:
npm install x import { y } from "x";
应该工作。其中包括wasm代码,并且与大多数捆绑程序兼容。
这可能吗?如果是这样,是否有使它工作的npm软件包的示例?
干杯!
我正在构建一个npm软件包,其中包含一些从Emscripten模块“胶水代码”中加载的WebAssembly。现在,通过静态指定的URL从胶水代码中获取WASM // //脚本胶水...
[我将WASM模块捆绑到opus-stream-decoder
NPM包中,可以使用新的ES模块opus-stream-decoder
语法或更旧的test-*
files来查看显示导入它的test-*
。>