Aller au contenu principal

@babel/cli

Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

Babel inclut une interface en ligne de commande (CLI) intégrée permettant de compiler des fichiers depuis le terminal.

De plus, divers scripts d'entrée se trouvent dans le package principal à l'emplacement @babel/cli/bin. On y trouve un script utilitaire exécutable en shell, babel-external-helpers.js, et le script principal de la CLI Babel, babel.js.

Installation

Bien que vous puissiez installer Babel CLI globalement sur votre machine, il est bien préférable de l'installer localement projet par projet.

Deux raisons principales justifient cette approche.

  1. Différents projets sur la même machine peuvent dépendre de versions distinctes de Babel, permettant des mises à jour individuelles.

  2. L'absence de dépendance implicite à l'environnement de travail rend votre projet plus portable et plus simple à configurer.

Installez Babel CLI localement en exécutant :

npm install --save-dev @babel/core @babel/cli
note

Si vous n'avez pas de package.json, créez-en un avant l'installation. Cela garantira une interaction correcte avec la commande npx.

Après installation, votre fichier package.json doit contenir :

{
"devDependencies": {
+ "@babel/cli": "^7.0.0",
+ "@babel/core": "^7.0.0"
}
}

Utilisation

note

Installez d'abord @babel/cli et @babel/core avant d'utiliser npx babel, sinon npx installera une version obsolète babel 6.x. Outre npx, vous pouvez aussi l'intégrer dans un script npm run ou exécuter le chemin relatif ./node_modules/.bin/babel.

Shell
npx babel script.js

Afficher l'aide

Shell
npx babel --help

Compiler des fichiers

Compiler le fichier script.js et envoyer la sortie vers stdout.

Shell
npx babel script.js
# output...

Pour écrire la sortie dans un fichier, utilisez --out-file ou -o.

Shell
npx babel script.js --out-file script-compiled.js

Pour compiler un fichier à chaque modification, utilisez l'option --watch ou -w :

Shell
npx babel script.js --watch --out-file script-compiled.js

Compiler avec des source maps

note

Depuis la v7.19.3, si ce paramètre n'est pas spécifié, @babel/cli suivra les fichiers de configuration.

Pour ajouter un fichier de source map, utilisez --source-maps ou -s.

Shell
npx babel script.js --out-file script-compiled.js --source-maps

Pour obtenir des source maps inline, utilisez plutôt --source-maps inline.

Shell
npx babel script.js --out-file script-compiled.js --source-maps inline

Compiler des répertoires

Compiler l'intégralité du répertoire src et envoyer le résultat dans lib avec --out-dir ou -d. Les autres fichiers/répertoires de lib ne sont pas écrasés.

Shell
npx babel src --out-dir lib

Compiler l'intégralité de src en un seul fichier concaténé.

Shell
npx babel src --out-file script-compiled.js

Répertoires contenant des fichiers TypeScript

Utilisez l'option --extensions pour spécifier les extensions traitées lors de la compilation de src. Les valeurs par défaut --extensions sont accessibles via Babel.DEFAULT_EXTENSIONS.

Shell
npx babel src --out-dir lib \
--extensions .ts,.js,.tsx,.jsx,.cjs,.mjs \
--presets=@babel/preset-typescript,@babel/preset-env,@babel/preset-react

Ignorer des fichiers

Ignorer les fichiers de spec et de test

Shell
npx babel src --out-dir lib --ignore "src/**/*.spec.js","src/**/*.test.js"

Copier des fichiers

Copier les fichiers non compilés

Shell
npx babel src --out-dir lib --copy-files

Pour éviter de copier les fichiers JavaScript ignorés :

History
VersionChanges
v7.8.0Added --copy-ignored
v7.8.4Change copyeIgnored option default to true, it can be disabled by --no-copy-ignored
Shell
npx babel src --out-dir lib --copy-files --no-copy-ignored

Redirection de fichiers (Piping)

Rediriger un fichier via stdin vers script-compiled.js

Shell
npx babel --out-file script-compiled.js < script.js

Utiliser des plugins

Spécifiez les plugins à utiliser avec l'option --plugins

Shell
npx babel script.js --out-file script-compiled.js --plugins=@babel/transform-class-properties,@babel/transform-modules-amd

Utilisation des présélections (presets)

Utilisez l'option --presets pour spécifier les présélections à utiliser lors de la compilation

Shell
npx babel script.js --out-file script-compiled.js --presets=@babel/preset-env,@babel/flow

Utilisation des fichiers de configuration

Ignorer .babelrc.json ou .babelrc

Ignorez la configuration du fichier .babelrc ou .babelrc.json du projet et utilisez les options CLI, par exemple pour une compilation personnalisée

Shell
npx babel --no-babelrc script.js --out-file script-compiled.js --presets=@babel/preset-env,@babel/preset-react

Chemin personnalisé pour la configuration

Shell
npx babel --config-file /path/to/my/babel.config.json --out-dir dist ./src

Voir ici pour plus d'informations sur les fichiers de configuration.

Définir les extensions de fichiers

Ajouté dans : v7.8.0

Par défaut, le fichier transpilé utilisera l'extension .js.

Vous pouvez contrôler l'extension du fichier de sortie avec --out-file-extension

Shell
npx babel src --out-dir lib --out-file-extension .mjs

Vous pouvez aussi conserver l'extension du fichier d'origine avec --keep-file-extension

Shell
npx babel src-with-mjs-and-cjs --out-dir lib --keep-file-extension

Notez que --keep-file-extension et --out-file-extension ne peuvent pas être utilisés simultanément.

Utilisation avancée

De nombreuses autres options sont disponibles, consultez options, babel --help et d'autres sections pour plus d'informations.