Maison >interface Web >js tutoriel >Comment corriger l'erreur « regeneratorRuntime n'est pas défini » dans Babel 6 avec Async/Await ?

Comment corriger l'erreur « regeneratorRuntime n'est pas défini » dans Babel 6 avec Async/Await ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-03 08:46:09370parcourir

How to Fix the

Résolution de l'erreur « regeneratorRuntime n'est pas défini » avec Babel 6 Async/Await

Lors de la tentative d'implémentation de la fonctionnalité async/wait dans Babel 6, les développeurs peuvent rencontrer l'erreur « regeneratorRuntime n'est pas défini ». En effet, contrairement aux versions ultérieures de Babel, la prise en charge async/await nécessite le package babel-polyfill dans Babel 6.

Solution :

  1. Installer babel-polyfill :

    npm i -D babel-polyfill
  2. Mettre à jour package.json :

    "devDependencies": {
      "babel-polyfill": "^6.0.16",
    }
  3. Modifier la configuration du webpack (le cas échéant) :
    Dans webpack.config.js, assurez-vous babel-polyfill est la première entrée du tableau d'entrée :

    module.exports = {
      entry: ['babel-polyfill', './test.js'],
      ...
    };
  4. Configurez babel-polyfill et babel-core dans le fichier de démarrage :

    require("babel-core/register");
    require("babel-polyfill");

Exemple Code :

"use strict";

export default async function foo() {
  var s = await bar();
  console.log(s);
}

function bar() {
  return "bar";
}

Exécuter des tests avec Babel :

Lors de l'exécution de tests avec Babel, utilisez la commande suivante :

mocha --compilers js:babel-core/register --require babel-polyfill

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn