J'essaie actuellement de comprendre la configuration de babel, mais je suis confus par babel-preset-**
, il existe de nombreux préréglages dans babel, comme env
, es2015
, react
et d'autres, je comprends que babel-preset-es2015
est nécessaire pour transpiler le code es2015 vers le code js précédent afin qu'il puisse être compris par la plupart des navigateurs/plus anciens, qu'en est-il de babel-preset-env
?
Quelles sont les différences entre ces préréglages? Peut-on utiliser env
sans utiliser es2015
ou vice versa? et quels sont les cas où nous avons besoin que ces deux préréglages soient présents sur notre système de construction de projet?
Je vous remercie.
Le babel-preset-es20XX
(15, 16, 17) les préréglages incluent les transformations nécessaires pour convertir les fonctionnalités ajoutées au cours de cette année spécifique en un code compatible avec la version précédente.
babel-preset-env
inclut des transformations pour toutes les fonctionnalités qui ont atterri dans la spécification, mais active uniquement celles nécessaires pour faire fonctionner les fonctionnalités en fonction de l'ensemble des environnements que vous lui avez fournis. Si vous ne passez aucune option à env
cela fonctionne essentiellement comme es2015, es2016, es2017
tous ensemble.
babel-preset-react
est l'ensemble des transformations nécessaires pour convertir les extensions de syntaxe liées à React/Facebook comme Flowtype et JSX de React.