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?
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/
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.