0

我正在尝试在 React 中创建一个 AudioWorklet。我正在使用 create-react-app 并将在 React 上下文之外工作的脚本导入 App.jsx。它无法实例化我的 AudioWorkletNode 扩展并引发以下错误:

   Failed to compile.
./src/worklet/worklet-node.js
  Line 2:  'AudioWorkletNode' is not defined  no-undef

编码:

 // The code in the main global scope.
    class MyWorkletNode extends AudioWorkletNode {
        constructor(context) {
          super(context, 'my-worklet-processor');
        }
      }

      let context = new AudioContext();

      context.audioWorklet.addModule('processor.js').then(() => {
        let node = new MyWorkletNode(context);
      });

完全相同的代码成功地初始化了 AudioWorklet,所以我有点困惑为什么 AudioWorkletNode 没有被识别。

4

1 回答 1

4

Create React App 配置为强制您使用window.限定符访问这样的浏览器 API。这样很明显你正在使用全局,并且没有忘记导入一些东西(这很常见)。

这应该有效:

class MyWorkletNode extends window.AudioWorkletNode {
于 2018-04-23T00:03:09.570 回答