> 웹 프론트엔드 > JS 튜토리얼 > Babel 6에서 \'regeneratorRuntime이 정의되지 않았습니다\' 오류가 발생하는 이유는 무엇이며 어떻게 해결할 수 있나요?

Babel 6에서 \'regeneratorRuntime이 정의되지 않았습니다\' 오류가 발생하는 이유는 무엇이며 어떻게 해결할 수 있나요?

DDD
풀어 주다: 2024-12-08 21:47:14
원래의
580명이 탐색했습니다.

Why am I getting a

Babel 6의 "regeneratorRuntime이 정의되지 않았습니다." 오류

Babel 6을 사용할 때 "regeneratorRuntime이 정의되지 않았습니다."가 정의된 경우가 발생할 수 있습니다. 특히 async/await 구문을 사용할 때 오류가 발생합니다. 이 오류는 Babel을 설정할 때 필수 종속성 또는 구성이 누락되었음을 나타냅니다.

이 문제를 해결하려면 babel-polyfill을 설치하고 구성해야 합니다. 라이브러리는 기본적으로 지원되는 기능을 지원하지 않는 환경에서 async/await와 같은 최신 JavaScript 기능을 지원하는 데 사용할 수 있는 폴리필 세트를 제공합니다.

종속성 설치

먼저 npm을 사용하여 babel-polyfill 및 기타 필수 Babel 종속성을 설치합니다.

npm i -D babel-core babel-polyfill babel-preset-es2015 babel-preset-stage-0 babel-loader
로그인 후 복사

package.json 업데이트

package.json 업데이트 파일에서 devDependency에 babel-polyfill을 추가합니다.

"devDependencies": {
  "babel-core": "^6.0.20",
  "babel-polyfill": "^6.0.16",
  "babel-preset-es2015": "^6.0.15",
  "babel-preset-stage-0": "^6.0.15"
}
로그인 후 복사

Update .babelrc

.babelrc 파일을 변경할 필요가 없습니다. 다음과 같아야 합니다.

{
  "presets": [ "es2015", "stage-0" ]
}
로그인 후 복사

JavaScript 파일 업데이트

async/await 구문을 사용하고 있는지 확인하세요. 예:

"use strict";

export default async function foo() {
  var s = await bar();
  console.log(s);
}

function bar() {
  return "bar";
}
로그인 후 복사

시작 파일에서

시작 파일에서 Babel 및 babel-polyfill을 등록했는지 확인하세요.

require("babel-core/register");
require("babel-polyfill");
로그인 후 복사

webpack을 사용하는 사용자는 @Cemen의 제안에 따라 babel-polyfill을 추가하세요. webpack 구성 파일에서 항목 배열의 첫 번째 값으로 설정하십시오.

module.exports = {
  entry: ['babel-polyfill', './test.js'],

  output: {
    filename: 'bundle.js'       
  },

  module: {
    loaders: [
      { test: /\.jsx?$/, loader: 'babel', }
    ]
  }
};
로그인 후 복사

Mocha 테스트의 경우 다음을 사용하십시오.

mocha --compilers js:babel-core/register --require babel-polyfill
로그인 후 복사

다음 단계에 따라 " regeneratorRuntime이 정의되지 않았습니다." 오류가 발생하고 async/await 구문을 사용합니다.

위 내용은 Babel 6에서 \'regeneratorRuntime이 정의되지 않았습니다\' 오류가 발생하는 이유는 무엇이며 어떻게 해결할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿