web-dev-qa-db-fra.com

Erreur: Impossible de trouver le paramètre "réagir" prédéfini lors de l'installation à l'aide de npm install --global babel-preset-react mais fonctionne sans indicateur global

J'ai installé Babel CLI (version 6) en utilisant npm install --global babel-cli. J'installe ensuite réagir prédéfini en utilisant npm install --global babel-preset-react

J'ai ensuite configuré le fichier .babelrc dans le répertoire du projet pour

{
    "presets": ["react"]
}

Lorsque je tente de construire un fichier JSX, il échoue avec

Error: Couldn't find preset "react"
    at OptionManager.mergePresets (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:310:17)
    at OptionManager.mergeOptions (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:270:12)
    at OptionManager.addConfig (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:206:10)
    at OptionManager.findConfigs (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:347:16)
    at OptionManager.init (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:392:12)
    at File.initOptions (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/index.js:191:75)
    at new File (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/index.js:122:22)
    at Pipeline.transform (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/pipeline.js:42:16)
    at transform (/usr/local/lib/node_modules/babel-cli/lib/babel/util.js:53:22)
    at Object.compile (/usr/local/lib/node_modules/babel-cli/lib/babel/util.js:62:12)

Si j’installe le préréglage sans l’indicateur --global (c’est-à-dire s’installe dans le dossier node_modules /), la construction fonctionne. Comment puis-je configurer Babel pour qu'il fonctionne avec un préréglage global?

15
Karan

Vous pouvez spécifier le chemin absolu (ou relatif) du préréglage que vous essayez d'utiliser, par exemple:

babel --presets /usr/local/lib/node_modules/babel-preset-react --watch jsx/ --out-dir js/
14
Petar Vorotnikov

Correction optionnelle

Vous pouvez le faire de cette façon. Écrivez ces lignes dans votre invite. Maintenant, la seule chose à faire avec global, vous devrez peut-être utiliser le correctif suggéré ci-dessus par @Petar

babel --presets /usr/local/lib/node_modules/babel-preset-react --watch jsx/ --out-dir js/

mais celui-ci fait tout ce dont vous avez besoin.

npm i babel-cli babel-preset-react 

babel --presets react jsx/ --watch --out-dir js/

et Ajoutez éventuellement un fichier .gitignore dans votre référentiel github avec content =modules_noeud / exécutez maintenant votre transformation jsx avec la même commande. 

1
Tarandeep Singh