web-dev-qa-db-fra.com

Les décorateurs React.js ne sont pas encore pris en charge dans la mise à jour de proposition en attente de la version 6.x

Les technologies que j'utilise pour créer mon application sont React, Web-pack, Babel et AlT (implémentation de flux).

Je reçois une erreur lorsque le pack Web tente de compiler mon application. Je ne sais pas quelles bibliothèques me manquent. 

Quelqu'un pourrait-il s'il vous plaît donner des conseils? 

  ##.babelrc file##
  {"presets": ["react", "es2015", "stage-0"]}

 Screen Shot

15
Erkan Demir

La réponse est généralement fournie ici https://stackoverflow.com/a/34210231/ , mais je vais la relater ici pour plus de commodité:

En gros, votre TC39 modifie sa proposition et Babel s'empêche de mettre en place des décorateurs. Si vous voulez la version Babel 5 des décorateurs (ou quelque chose de similaire), vous pouvez ajouter ce plugin spécial à Babel - https://www.npmjs.com/package/babel-plugin-transform-decorators-legacy .

9
Qiming

Babel 6 ne supporte pas encore les décorateurs, voir ce numéro

La solution la plus simple et la plus stable pour le moment est la version 5.8.34. 

7
Emilio Rodriguez

Le TC39 est en train de changer la proposition de décorateur (le «vieux» étant implémenté dans babel 5), l’équipe de babel les attend pour écrire la nouvelle implémentation, ou transférer l’ancienne de babel 5. Pour utiliser les décorateurs, utilisez babel 5, puis attendez la nouvelle proposition pour TC39 et laissez l’équipe babel la mettre en œuvre. 

2
Alejandro Silva

J'ai eu le même problème et après avoir enlevé la déclaration dupliquée de 

"presets: ['es2015', 'react','stage-0'],"

dans webpack config et .babelrc, cela fonctionne finalement.

0
WEN-JY