> 웹 프론트엔드 > JS 튜토리얼 > 비동기 생성기를 사용할 때 Babel 6에서 \'regeneratorRuntime이 정의되지 않았습니다\'라는 메시지가 나타나는 이유는 무엇이며 어떻게 해결할 수 있나요?

비동기 생성기를 사용할 때 Babel 6에서 \'regeneratorRuntime이 정의되지 않았습니다\'라는 메시지가 나타나는 이유는 무엇이며 어떻게 해결할 수 있나요?

Susan Sarandon
풀어 주다: 2024-11-29 08:40:11
원래의
302명이 탐색했습니다.

Why is

Babel 6에 비동기 생성기가 없습니다

Babel 6에서 비동기 구현을 시도하는 동안 "regeneratorRuntime이 정의되지 않았습니다"라는 오류가 발생할 수 있습니다. 발전기. 이는 비동기 함수의 기본 기반을 형성하는 재생성기 런타임을 Babel과 함께 포함해야 하기 때문에 발생합니다.

해결책: Babel-polyfill 포함

이 문제를 해결하려면 오류가 발생하면 비동기식 지원을 제공하는 babel-polyfill을 설치해야 합니다.

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

업데이트된 구성

babel-polyfill을 설치한 후 package.json의 "devDependency" 섹션을 새로운 기능으로 업데이트하세요. package.

package.json

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

Polyfill 통합

시작 파일에 babel- 코어/레지스터 및 babel-polyfill.

스타트업 file

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

webpack 사용자의 경우 '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
로그인 후 복사

이러한 조정을 통해 이제 Babel 6 환경에서 비동기 생성기에 액세스할 수 있으므로 async/await 구문을 원활하게 작성하고 활용할 수 있습니다.

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

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