9
votes

Babel: "Le mot clé" attendre "est réservé (53:24)"

Nous utilisons async / attendre pour notre projet météore. Cette syntaxe est partout dans nos résolvers.js. Tout fonctionne bien jusqu'à ce que nous nous sommes mis à niveau vers le nœud 6.7. Maintenant, cela montre cette erreur chaque fois que nous essayons de le construire:

"Le mot clé" attendre "est réservé (53:24)"

 Entrez la description de l'image ici

Est-ce que quelqu'un sait comment résoudre ce problème?

Voici le contenu de mon fichier .babelrc: xxx


7 commentaires

Notez que l'opérateur exponentiel passe de étage-3 (implicitement inclus par étage-2 ) au préréglage ES2016 et ASYNC / AWAIT et Fonction Fonction Les virgules se déplacent à ES2017 , vous devez donc probablement utiliser celles-ci.


J'ai essayé de changer "ES2015" à "ES2017", mais toujours la même erreur.


Vous ne devriez pas changer ES2015 sur ES2017 , vous devez ajouter ES2016 et ES2017 au lieu de 2 . ( ["ES2015", "ES2016", "ES2017", "réagit"] ). Quoi qu'il en soit, il n'est pas prévu comme une solution probable, juste un "heads up" que cela va changer bientôt.


Oh pardon. D'accord, essayez celui-ci à la place.


Cela n'a toujours pas fonctionné. Y a-t-il d'autres facteurs possibles pour cela à part le .babelrc?


J'ai aussi commencé à avoir ce problème et je suis sur le nœud v6.3.1. Je pense que cela pourrait être lié aux nouvelles versions des plugins de babel récemment libérés


Oui, cela nous a marqué également, sur 6.6.0 et 6.7.0. Étonnamment, tirant un fichier de rétractation d'un vm de travaux connu N'a pas fixer le problème.


3 Réponses :


1
votes

D'accord, j'ai découvert une solution à mon propre problème. Je viens d'exclure le .babelrc lorsque vous effectuez une construction de météore puisque Meteor a déjà un paquet qui prend en charge la syntaxe ES6. Je n'ai pas totalement supprimé le .babelrc parce que je vais y avoir besoin sur des tests et lors de l'exécution du livre de contes qui ne déclenche pas une construction de météores.


0 commentaires

25
votes

Juste au cas où quelqu'un d'autre cherche ce même problème, dans mon cas, c'est une erreur utilisateur, moi. J'ai oublié de mettre le mot-clé ASYNC avant le nom de la fonction.  Entrez la description de l'image ici


1 commentaires

Si vous avez plusieurs fonctions de flèche, assurez-vous de placer attendre avant le bon. Exemple: const résultat = (données, URL) => ASYNC Dispatch => {...}



1
votes

Attendre seul est la syntaxe invalide. Attend qu'il faut appeler à l'intérieur d'une fonction asynchrone comme: xxx


0 commentaires