我正在尝试用电子伪造打包电子应用程序(使用wasm)。
此刻(当我打包装时!)它只是一个hello-world,但它编译了一个简单的生锈库,然后我将.js和.wasm文件复制到./src /并打包为电子应用程序。
使用&#34;电子锻造开始运行&#34;效果很好,但是当我用&#34; electon-forge make&#34; (对于这种情况下Mac OS上的DMG),然后安装并运行它,似乎是在尝试加载错误的.wasm文件(或者它被修改了......),因为我收到了这些错误:< / p>
只捆绑了一个.wasm文件,我检查了.js它是否有对正确文件的引用。
如果我进入/ Applications中的.app包并导航到打包的源文件都是正确的,并且与我的源文件夹相同。
检查.wasm文件的幻数也似乎没问题。
hexdump ui-72b0082cbbe1a2b5.wasm |head -n 1
0000000 00 61 73 6d 01 00 00 00 01 86 01 13 60 02 7f 7f
所以,我不知道它试图以.wasm加载的文件以及幻数不正确的原因。
有什么想法吗?
答案 0 :(得分:1)
不确定您是否仍然遇到此问题,但这使我感到困扰了一段时间,因此我认为我将把答案留给下一个人。简短的答案,您需要在json配置文件中添加一些内容。示例:
默认配置:
...
"config": {
"forge": {
"packagerConfig": { },
...
固定的配置:
...
"config": {
"forge": {
"packagerConfig": { "asar.unpack" : "yourFileHere.js" },
...
据我所知,问题出在电子包装机上,它是如何将所有内容压缩到asar文件中的。似乎尝试提供压缩文件,因此MIME类型错误。但是,即使当我更改Web程序集加载代码以使用WebAssembly.instantiate而不是WebAssembly.instantiateStreaming(这避免了MIME检查)时,我仍然遇到那些神奇的数字问题……这就是压缩是问题的线索。
您也可以创建目录,有关其他打包程序选项的信息,请点击此处 https://github.com/electron/electron-packager/blob/master/docs/api.md#asar