web-dev-qa-db-fra.com

Ai-je vraiment besoin de Babel ou d'autres transpilers pour utiliser ES6 avec React?

Ai-je vraiment besoin de Babel ou d'autres transpilers pour utiliser ES6 dans React?

Je regardais le graphique https://kangax.github.io/compat-table/es6/

On dirait que mon navigateur actuel Chrome (dernière version stable) prend en charge presque toutes les fonctionnalités ES6 ...

Si je peux utiliser ES6 sans Babel, comment dois-je le faire?

23
user3463521

Sans babel, vous obtenez la compatibilité du graphique auquel vous avez lié. Mais gardez à l'esprit que si vous voulez utiliser JSX, vous voudrez utiliser babel pour le transpiler.

6
Dylan

Si tu veux:

  • utilisez modules (avec require() ou import ...)
  • utilisez JSX
  • prend en charge de nombreux navigateurs
  • utiliser des fonctionnalités plus avancées ( async/attente ), certaines encore dans les propositions ( décorateurs , propriétés de classe ..)

Vous devez utiliser Babel pour être sûr que tout le monde pourra exécuter votre code, sinon vous pourrez développer sans lui.

16
Kerumen

Je peux absolument utiliser et utiliser ES6 W/O babel. Tous les principaux navigateurs prennent en charge la grande majorité des fonctionnalités en mode natif ( voir CanIUse.com ), en fait, la seule fonctionnalité majeure non prise en charge est l'importation/exportation de modules.

Pour ceux-ci, vous devez toujours importer manuellement vos modules dans le bon ordre en utilisant des balises de script dans le HTML. Côté client uniquement (le nœud a besoin des modules).

Cependant, sachez que c'est bien pour le développement, mais en production, vous devrez de toute façon concaténer et minimiser tous les JS dans un module, donc l'utilisation d'une chaîne d'outils de style Babel/Webpack ou Babel/Browserify peut finalement être l'endroit où vous vous retrouvez.

14
Scott Henshaw