Maison >interface Web >js tutoriel >Pourquoi est-ce que j'obtiens « regeneratorRuntime n'est pas défini » lorsque j'utilise Async/Await avec Babel 6 ?
"Babel 6 regeneratorRuntime n'est pas défini" expliqué
Lors de l'implémentation de async/await dans Babel 6, l'erreur "regeneratorRuntime n'est pas défini" se pose couramment. Pour résoudre ce problème, il faut en outre installer et inclure babel-polyfill.
Installation des dépendances Babel
Pour utiliser async/await, installez ces dépendances :
npm i -D babel-core babel-polyfill babel-preset-es2015 babel-preset-stage-0 babel-loader
Mise à jour package.json
Ajoutez ce qui suit à "devDependencies" :
"babel-polyfill": "^6.0.16"
Maintenir .babelrc
Conservez les paramètres tels quels :
{ "presets": [ "es2015", "stage-0" ] }
Configuration Async/await**
Activez async/await dans votre code :
"use strict"; export default async function foo() { var s = await bar(); console.log(s); } function bar() { return "bar"; }
Chargement des packages requis
Dans votre fichier de démarrage , inclure :
require("babel-core/register"); require("babel-polyfill");
Webpack Configuration
Si vous utilisez webpack, assurez-vous que babel-polyfill est la première entrée :
module.exports = { entry: ['babel-polyfill', './test.js'], output: { filename: 'bundle.js' }, module: { loaders: [ { test: /\.jsx?$/, loader: 'babel', } ] } };
Test avec Babel
Exécutez des tests avec Babel utilise :
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!