无法从ReactJs Component调用WebAssembly Js API

时间:2017-12-28 23:45:14

标签: javascript reactjs webassembly

在HTML文件中调用WebAssembly API非常有效,

<html>
  <body>
    <script>
      ...
          WebAssembly.instantiate(bytes, importObject)
       ...

   </script>
  </body>

</html>

但是,在我的react-app的根目录下运行'npm start'时,在React组件中调用它会导致此错误:

'WebAssembly' is not defined  no-undef
import React from 'react';

export default class WasmContainer extends React.Component {

    constructor(props) {
        super(props);
        this.func = this.func.bind(this);
    }

    func(){
            ...
        WebAssembly.instantiate(bytes, importObject)
            ...

        return "...";
    }

    render() {
        return (<p>{this.func()}</p>)
    }
}

我想从React组件运行.wasm文件,这阻止了我。

如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

这看起来非常像一个linting错误。你在使用ESLint吗?

您需要通知您的linter WebAssembly是一个全局对象。尝试将以下内容添加到文件顶部:

/* global WebAssembly */

虽然更好的选择可能是将其添加到你的eslint confit文件中。