You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

react-speech-recognition包运行报错:regeneratorRuntime is not defined

问题

使用react-speech-recognition(一款能将用户音频转换为文本的React工具包)时,运行基础示例代码触发报错:

"RecognitionManager.js:247 Uncaught ReferenceError: regeneratorRuntime is not defined"

示例代码:

import React from 'react';
import SpeechRecognition, { useSpeechRecognition } from 'react-speech-recognition'

const App = () => {
    const {transcript, listening,resetTranscript, browserSupportsSpeechRecognition } = useSpeechRecognition();
    if (!browserSupportsSpeechRecognition) {
        return <span>Browser doesn't support speech recognition.</span>;
      }
    //   const startListening = () => SpeechRecognition.startListening({ continuous: true, language: 'en-IN' });
    return (
        <>
       <div>
      <p>Microphone: {listening ? 'on' : 'off'}</p>
      <button onClick={SpeechRecognition.startListening}>Start</button>
      <button onClick={SpeechRecognition.stopListening}>Stop</button>
      <button onClick={resetTranscript}>Reset</button>
      <p>{transcript}</p>
    </div>
        </>
    );
};

export default App;

错误栈信息:

RecognitionManager.js:247 Uncaught ReferenceError: regeneratorRuntime is not defined
at RecognitionManager.js:247:61
at RecognitionManager.js:332:5
at node_modules/react-speech-recognition/lib/RecognitionManager.js (RecognitionManager.js:452:1)
at __require (chunk-76J2PTFD.js?v=a062c6e0:3:50)
at node_modules/react-speech-recognition/lib/SpeechRecognition.js (SpeechRecognition.js:16:50)
at __require (chunk-76J2PTFD.js?v=a062c6e0:3:50)
at node_modules/react-speech-recognition/lib/index.js (index.js:16:50)
at __require (chunk-76J2PTFD.js?v=a062c6e0:3:50)
at index.js:23:22

解决方案

这个错误是因为react-speech-recognition内部用到了async/await这类异步语法,但你的项目没有配置对应的Babel支持,导致浏览器无法识别regeneratorRuntime。按以下步骤修复:

方案1:手动配置Babel的项目

  1. 安装依赖
npm install @babel/plugin-transform-runtime @babel/runtime --save-dev
  1. 修改Babel配置文件(比如.babelrc或babel.config.json),添加插件配置:
{
  "plugins": [
    ["@babel/plugin-transform-runtime", {
      "regenerator": true
    }]
  ]
}

方案2:Create React App创建的项目

不需要手动改Babel配置,直接安装regenerator-runtime:

npm install regenerator-runtime --save

然后在项目入口文件(比如src/index.js)顶部添加引入:

import 'regenerator-runtime/runtime';

执行完上面的步骤后,重新运行项目就能解决这个报错。

内容的提问来源于stack exchange,提问作者Aakash Saini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 17:53:22