Maison > interface Web > js tutoriel > Pourquoi est-ce que je reçois une erreur « regeneratorRuntime n'est pas défini » dans Babel 6 et comment puis-je la corriger ?

Pourquoi est-ce que je reçois une erreur « regeneratorRuntime n'est pas défini » dans Babel 6 et comment puis-je la corriger ?

DDD
Libérer: 2024-12-08 21:47:14
original
586 Les gens l'ont consulté

Why am I getting a

Erreur "regeneratorRuntime n'est pas défini" dans Babel 6

Lors de l'utilisation de Babel 6, vous pouvez rencontrer "regeneratorRuntime n'est pas défini" défini " erreur, en particulier lors de l'utilisation de la syntaxe async/wait. Cette erreur indique qu'il vous manque une dépendance ou une configuration requise lors de la configuration de Babel.

Pour résoudre ce problème, vous devez installer et configurer babel-polyfill. La bibliothèque fournit un ensemble de polyfills qui peuvent être utilisés pour prendre en charge les fonctionnalités JavaScript modernes, telles que async/await, dans des environnements qui ne prennent pas en charge les fonctionnalités prises en charge de manière native.

Installer les dépendances

Tout d'abord, installez babel-polyfill et les autres dépendances Babel requises à l'aide de npm :

npm i -D babel-core babel-polyfill babel-preset-es2015 babel-preset-stage-0 babel-loader
Copier après la connexion

Mettre à jour package.json

Mettez à jour votre package.json fichier, ajoutez babel-polyfill à devDependencies :

"devDependencies": {
  "babel-core": "^6.0.20",
  "babel-polyfill": "^6.0.16",
  "babel-preset-es2015": "^6.0.15",
  "babel-preset-stage-0": "^6.0.15"
}
Copier après la connexion

Mettre à jour .babelrc

Vous n'avez pas besoin d'apporter de modifications au fichier .babelrc. Cela devrait ressembler à ceci :

{
  "presets": [ "es2015", "stage-0" ]
}
Copier après la connexion

Mettez à jour vos fichiers JavaScript

Assurez-vous que vous utilisez la syntaxe async/await. Par exemple :

"use strict";

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

function bar() {
  return "bar";
}
Copier après la connexion

Dans votre fichier de démarrage

Dans votre fichier de démarrage, assurez-vous d'enregistrer Babel et babel-polyfill :

require("babel-core/register");
require("babel-polyfill");
Copier après la connexion

Pour les utilisateurs utilisant webpack, veuillez suivre la suggestion de @Cemen et ajouter babel-polyfill Définissez la première valeur du tableau d'entrée dans le fichier de configuration de votre webpack :

module.exports = {
  entry: ['babel-polyfill', './test.js'],

  output: {
    filename: 'bundle.js'       
  },

  module: {
    loaders: [
      { test: /\.jsx?$/, loader: 'babel', }
    ]
  }
};
Copier après la connexion

Pour les tests Mocha, utilisez ce qui suit :

mocha --compilers js:babel-core/register --require babel-polyfill
Copier après la connexion

En suivant ces étapes, vous devriez pouvoir résoudre " regeneratorRuntime n'est pas défini" et utilise la syntaxe async/await.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal