Générateurs asynchrones manquants dans Babel 6
Dans Babel 6, vous pouvez rencontrer l'erreur "regeneratorRuntime n'est pas défini" lors de la tentative d'implémentation asynchrone générateurs. Cela se produit car le runtime du régénérateur, qui constitue la base fondamentale des fonctions asynchrones, doit être inclus aux côtés de Babel.
Solution : Incluez Babel-polyfill
Pour résoudre ce problème erreur, vous devrez installer babel-polyfill, qui prend en charge les applications asynchrones. fonctions.
npm i -D babel-core babel-polyfill babel-preset-es2015 babel-preset-stage-0 babel-loader
Configuration mise à jour
Après avoir installé babel-polyfill, mettez à jour la section "devDependencies" de votre package.json avec le nouveau package.
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" }
Incorporation du Polyfill
Dans votre fichier de démarrage, exigez à la fois babel- core/register et babel-polyfill.
démarrage file
require("babel-core/register"); require("babel-polyfill");
Pour les utilisateurs du webpack, n'oubliez pas de placer 'babel-polyfill' comme première entrée de votre tableau d'entrées.
configuration du webpack
module.exports = { entry: ['babel-polyfill', './test.js'], output: { filename: 'bundle.js' }, module: { loaders: [ { test: /\.jsx?$/, loader: 'babel', } ] } };
Dans le cas de tests utilisant Mocha, utilisez la commande suivante :
mocha --compilers js:babel-core/register --require babel-polyfill
Avec Ces ajustements, les générateurs asynchrones seront désormais accessibles dans votre environnement Babel 6, vous permettant d'écrire et d'utiliser de manière transparente 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!