Home >Web Front-end >JS Tutorial >Why is \'regeneratorRuntime is not defined\' when using async/await with Babel 6, and how can I fix it?
"Babel 6 regeneratorRuntime is not defined"
Question: When using async/await on Babel 6, an error message "regeneratorRuntime is not defined" appears. How can this be fixed?
Answer:
To resolve this issue, Babel must be configured to include the babel-polyfill package, which provides necessary runtime support for async/await.
Step 1: Install Required Packages
npm i -D babel-core babel-polyfill babel-preset-es2015 babel-preset-stage-0 babel-loader
Step 2: Update 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" }
Step 3: Configure Babel (in .babelrc)
{ "presets": [ "es2015", "stage-0" ] }
Step 4: Activate Polyfill
In your startup file:
require("babel-core/register"); require("babel-polyfill");
For Webpack Users:
Place as the first value of the entry array in the webpack configuration:
module.exports = { entry: ['babel-polyfill', './test.js'], ... }
For Testers:
Run tests with Babel:
mocha --compilers js:babel-core/register --require babel-polyfill
By completing these steps, Babel will include the necessary runtime support for async/await, eliminating the "regeneratorRuntime is not defined" error.
The above is the detailed content of Why is \'regeneratorRuntime is not defined\' when using async/await with Babel 6, and how can I fix it?. For more information, please follow other related articles on the PHP Chinese website!