728x90
반응형
질문 : Babel 6 regeneratorRuntime이 정의되지 않았습니다.
비동기를 사용하려고하는데 Babel 6에서 처음부터 기다리고 있지만 regeneratorRuntime이 정의되지 않았습니다.
.babelrc 파일
{
"presets": [ "es2015", "stage-0" ]
}
package.json 파일
"devDependencies": {
"babel-core": "^6.0.20",
"babel-preset-es2015": "^6.0.15",
"babel-preset-stage-0": "^6.0.15"
}
.js 파일
"use strict";
async function foo() {
await bar();
}
function bar() { }
exports.default = foo;
async / await없이 정상적으로 사용하면 잘 작동합니다. 내가 뭘 잘못하고 있는지 아이디어가 있습니까?
답변
babel-polyfill
( Babel 7.4에서 더 이상 사용되지 않음 )이 필요합니다. async / await가 작동하려면 설치해야합니다.
npm i -D babel-core babel-polyfill babel-preset-es2015 babel-preset-stage-0 babel-loader
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"
}
.babelrc
{
"presets": [ "es2015", "stage-0" ]
}
async / await가있는 .js (샘플 코드)
"use strict";
export default async function foo() {
var s = await bar();
console.log(s);
}
function bar() {
return "bar";
}
시작 파일에서
require("babel-core/register");
require("babel-polyfill");
webpack 을 사용하는 경우 @Cemen 주석에 따라 webpack 구성 파일 (일반적으로 webpack.config.js
entry
배열의 첫 번째 값으로 넣어야합니다.
module.exports = {
entry: ['babel-polyfill', './test.js'],
output: {
filename: 'bundle.js'
},
module: {
loaders: [
{ test: /\.jsx?$/, loader: 'babel', }
]
}
};
babel로 테스트를 실행하려면 다음을 사용하십시오.
mocha --compilers js:babel-core/register --require babel-polyfill
출처 : https://stackoverflow.com/questions/33527653/babel-6-regeneratorruntime-is-not-defined
728x90
반응형
'개발관련 > other' 카테고리의 다른 글
UTF-8, UTF-16 및 UTF-32 의 차이점 (0) | 2021.07.06 |
---|---|
npm을 사용하여 로컬 모듈을 설치 하는 방법 (0) | 2021.07.05 |
공동 디자인 오류 : 만료 된 프로필을 삭제 한 후 프로비저닝 프로필을 찾을 수 없습니다. (0) | 2021.06.24 |
.key 및 .crt 파일에서 .pem 파일을 가져 오는 방법 (0) | 2021.06.23 |
명령 줄에서 R 스크립트 실행 (0) | 2021.06.22 |