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 중국어 웹사이트의 기타 관련 기사를 참조하세요!