Exécutez une transformation Babel personnalisée avec React-Native

Je dois utiliser babel-plugin-transform-decorators-legacy avec React-Native pour activer @decorators. Comment configurer React-Native / Babel pour rendre cela possible?

Ceci est lié à ma question précédente sur la façon de faire fonctionner @decorators dans React-Native: https://stackoverflow.com/a/34271636/941058

Utilisez les presets Babel officiels

Installez les presets Babel officiels pour les applications React Native :

 npm i babel-preset-react-native --save-dev 

Modifiez votre .babelrc :

 { "presets": ["react-native"] } 

Prior RN v21.0: Extension de l'original .babelrc de la réaction native

Pour éviter de manipuler des fichiers dans le répertoire node_modules , vous devez étendre l'original .babelrc .

En gardant vos dépendances propres, il n'y aura aucun problème avec les mises à jour ou le partage du projet.

 { "extends": "react-native/packager/react-packager/.babelrc", } 

Vous installez le plugin au niveau racine de vos projets, puis ajoutez le plugin au fichier .babelrc dans node_modules / reaction-native / packager / reaction-packager / .babelrc

Le problème avec ce travail d'utilisation de @decorators est que si vous travaillez sur une équipe pour l'application, chaque développeur devra effectuer la modification sur .babelrc puisque node_modules ne doit pas être vérifié dans la source.

À partir de janvier 2016, vous pouvez simplement créer un fichier index.ios.js près de index.ios.js et index.android.js qui ressemble à:

 { "plugins": [ "transform-decorators" ] } 

Vous devez l'ajouter à votre .babelrc dans votre dossier natif réactif dans votre dossier node_modules.

Ce fichier: reactive-native / packager / reac-packager / .babelrc.

Mettez-le devant les propriétés de la classe de syntaxe.

Vous semblez également avoir besoin d'un .babelrc au niveau racine comme suggéré ci-dessous.

  { "plugins": [ "transform-decorators" ] }