Maison >interface Web >js tutoriel >Pourquoi « regeneratorRuntime n'est-il pas défini » lors de l'utilisation de async/await avec Babel 6, et comment puis-je y remédier ?
"Babel 6 régénératorRuntime n'est pas défini"
Question : Lors de l'utilisation de async/await sur Babel 6, un Le message d'erreur "regeneratorRuntime n'est pas défini" apparaît. Comment cela peut-il être résolu ?
Réponse :
Pour résoudre ce problème, Babel doit être configuré pour inclure le package babel-polyfill, qui fournit la prise en charge d'exécution nécessaire pour async /attendre.
Étape 1 : installation requise Packages
npm i -D babel-core babel-polyfill babel-preset-es2015 babel-preset-stage-0 babel-loader
Étape 2 : Mettre à jour 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" }
Étape 3 : Configurer Babel (dans .babelrc)
{ "presets": [ "es2015", "stage-0" ] }
Étape 4 : Activer Polyfill
Dans votre fichier de démarrage :
require("babel-core/register"); require("babel-polyfill");
Pour les utilisateurs de Webpack :
Placez comme première valeur du tableau d'entrée dans la configuration du webpack :
module.exports = { entry: ['babel-polyfill', './test.js'], ... }
Pour Testeurs :
Exécuter des tests avec Babel :
mocha --compilers js:babel-core/register --require babel-polyfill
En complétant ces étapes, Babel inclura la prise en charge d'exécution nécessaire pour async/await, éliminant le "regeneratorRuntime n'est pas défini" erreur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!