【问题标题】:ReferenceError: WebAssembly is not definedReferenceError:未定义 WebAssembly
【发布时间】:2019-05-21 03:21:45
【问题描述】:

我在应用程序中使用 ttest nodejs 模块。由于对其进行了更新,我尝试使用更新的版本 ttest@2.0.0。当模块开始计算数据时出现错误:

ReferenceError: WebAssembly 未定义

NodeJS 版本 - 6.9.1。

错误出现在下一个地方:

class CephesWrapper {
  constructor(sync) {
    // Initialize the runtime's memory
    this._wasmMemory = new WebAssembly.Memory({
      'initial': TOTAL_MEMORY / WASM_PAGE_SIZE,
      'maximum': TOTAL_MEMORY / WASM_PAGE_SIZE
    });
.....
  }
}

对于解决这个问题有什么建议吗?是否可以定义 WebAssembly?

【问题讨论】:

  • 请在问题中添加您的代码
  • 您是否需要/导入了 WebAssembly?试试这个stackoverflow.com/questions/48015777/…
  • 不,我没有。我添加了 ttest@2.0.0。该模块依赖于distributions@2.0.0 模块,该模块使用调用WebAssembly 的cephes 模块。
  • 你使用过 Emscripten 吗?请添加您使用的 emcc 命令。你没有提到任何关于工具链的信息,这是识别问题最重要的事情。
  • 哦,我以为错误发生在您自己的代码中。我在 ttest 中找不到任何与 WebAssembly 相关的代码,这有点奇怪。

标签: node.js webassembly


【解决方案1】:

就我而言,问题在于我在安全模式下运行浏览器(Mozilla Firefox)。 只需完全关闭浏览器并重新启动。这将退出安全模式(如果卡在安全模式,see here)

作为参考,我在这里找到了这个解决方案:https://github.com/mozilla-iot/gateway/issues/2047

【讨论】:

  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
  • 您好,感谢您的建议。也许我没有表达清楚。事实上,我的第一段确实是我找到的答案的重要部分。我提供链接只是为了强调我没有想出它并提供更多上下文。
  • 没想到安全模式与此有任何关系,谢谢老兄!
【解决方案2】:

在 NodeJs 8.0.0 中添加了 WebAssembly 支持。更新您的 NodeJS 以使其正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-24
    • 2015-10-04
    • 2017-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多