2017-10-06 3 views
1

J'ai créé un projet avec CRNA et après quelques considérations j'ai décidé d'aller avec MobX pour la gestion d'état. MobX fonctionne mieux avec la syntaxe du décorateur (la plupart de la documentation de MobX est écrite en utilisant la syntaxe du décorateur) donc j'ai voulu installer le plugin Babel permettant l'utilisation de décorateurs.Configurer un projet Create-React-Native-App pour utiliser MobX et utiliser Babel pour activer les décorateurs

J'ai installé avec succès MOBX (yarn add mobx mobx-react), mais après avoir installé le plugin Babel pour permettre aux décorateurs (npm install --save-dev babel-plugin-transform-decorators et en ajoutant "transform-decorators" à la section plugins dans .babelrc, yarn start a cessé de travailler en jetant une erreur sur les réagiront-natifs scripts ne sont pas trouvés .

J'ai couru alors yarn install et cette fois il a jeté une erreur disant

Error starting packager: TypeError: Invalid Version: undefined 
    at new SemVer (D:\Projects\ReactNativePlayground\omar\MRKT\node_modules\semver\semver.js:279:11) 
    at Function.major (D:\Projects\ReactNativePlayground\omar\MRKT\node_modules\semver\semver.js:551:10) 
    at D:\xdl\src\project\Doctor.js:634:18 
    at D:\Projects\ReactNativePlayground\omar\MRKT\node_modules\lodash\lodash.js:4944:15 
    at baseForOwn (D:\Projects\ReactNativePlayground\omar\MRKT\node_modules\lodash\lodash.js:3001:24) 
    at D:\Projects\ReactNativePlayground\omar\MRKT\node_modules\lodash\lodash.js:4913:18 
    at Function.forEach (D:\Projects\ReactNativePlayground\omar\MRKT\node_modules\lodash\lodash.js:9359:14) 
    at D:\xdl\src\project\Doctor.js:624:9 
    at Generator.throw (<anonymous>) 
    at step (D:\Projects\ReactNativePlayground\omar\MRKT\node_modules\xdl\build\project\Doctor.js:615:191) 
error Command failed with exit code 1. 

quelqu'un at-il une expérience avec CRNA et MOBX? Toute aide est très appréciée!

Répondre

4

Je l'ai résolu. Il s'avère que l'exécution npm install --save-dev babel-plugin-transform-decorators a cassé quelque chose. Ce que j'aurais dû courir est yarn add --dev babel-plugin-transform-decorators-legacy et ajouter "transform-decorators-legacy" à la section de plugins .babelrc. Après avoir fait ces étapes, j'ai couru yarn install et cela a corrigé mon projet.

De plus, mon rédacteur en chef (VSCode) a lancé des avertissements sur les extensions étant expérimentale alors j'ai ajouté un fichier jsconfig.json dans le dossier racine et ajouté ce qui suit à l'intérieur:

{ 
    "compilerOptions": { 
    "experimentalDecorators": true 
    }, 
    "exclude": [".expo/*", "node_modules/*"] 
} 
+0

Oui. Dans mon cas, l'utilisation de 'yarn' au lieu de' npm' a résolu mon problème. –