Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在npm包中嵌入Emscripten WebAssembly模块_Npm_Webpack_Webassembly_Emscripten - Fatal编程技术网

在npm包中嵌入Emscripten WebAssembly模块

在npm包中嵌入Emscripten WebAssembly模块,npm,webpack,webassembly,emscripten,Npm,Webpack,Webassembly,Emscripten,我正在构建一个npm包,其中包含一些从Emscripten模块胶水代码加载的WebAssembly 目前,WASM是通过静态指定的URL从胶水代码中提取的 //emscripten胶水代码 从“/set_asm.js”导入rppgLoader; 异步加载{ //加载webassembly代码 this.instance=rppgLoader{ locateFilepath{ 返回`${process.env.PUBLIC\u URL}/wasm/set\u asm.wasm`; } }; 此UR

我正在构建一个npm包,其中包含一些从Emscripten模块胶水代码加载的WebAssembly

目前,WASM是通过静态指定的URL从胶水代码中提取的

//emscripten胶水代码 从“/set_asm.js”导入rppgLoader; 异步加载{ //加载webassembly代码 this.instance=rppgLoader{ locateFilepath{ 返回`${process.env.PUBLIC\u URL}/wasm/set\u asm.wasm`; } }; 此URL是特定于应用程序的,因此与npm模块不兼容,npm模块中的所有内容都必须包括在内,并且与大多数构建系统网页、browserify、

我试着跟随google engineer@surma,目的是让wasm/emscripten和webpack一起工作,但没有运气看到最后一条关于要点的评论

我试图实现的是对用户透明的npm模块。例如:

npm安装x 从x导入{y}; 应该可以。这包括wasm代码,并且与大多数捆绑包兼容

这是可能的吗?如果是的话,是否有任何npm包的例子使其工作


干杯!

我将一个WASM模块捆绑到NPM包中。使用main属性声明WASM入口点。另外,请看一下导入它的演示,使用新的ES模块导入语法或旧的require

我想,您可以使用fs.readFile将文件读取到ArrayBuffer中,并直接从中加载WebAssembly模块。可能在网页中不起作用。加载程序将尝试根据您所在页面的URL查找文件。使用包构建任务在JS包旁边提供.wasm文件。emscripten加载程序可能会被修改以解决此问题,但遗憾的是,我没有时间尝试。我只是将wasm复制到scripts/JS/中,它可以在K