Saltar al contenido principal

@babel/cli

Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

Babel incluye una CLI integrada que puede usarse para compilar archivos desde la línea de comandos.

Además, varios scripts de punto de entrada residen en el paquete de nivel superior en @babel/cli/bin. Existe un script utilitario ejecutable por shell, babel-external-helpers.js, y el script principal de CLI de Babel, babel.js.

Instalación

Aunque puedes instalar Babel CLI globalmente en tu máquina, es mucho mejor instalarlo localmente proyecto por proyecto.

Existen dos razones principales para esto.

  1. Diferentes proyectos en la misma máquina pueden depender de versiones distintas de Babel, permitiéndote actualizarlas individualmente.

  2. No tener una dependencia implícita del entorno en que trabajas hace tu proyecto mucho más portable y fácil de configurar.

Podemos instalar Babel CLI localmente ejecutando:

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

Si no tienes un package.json, créalo antes de instalar. Esto garantizará una interacción adecuada con el comando npx.

Después de completar la instalación, tu archivo package.json debe incluir:

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

Uso

nota

Por favor instala primero @babel/cli y @babel/core antes de usar npx babel, de lo contrario npx instalará la versión desactualizada babel 6.x. Además de npx, también puedes agregarlo dentro de un script npm run o ejecutarlo con la ruta relativa: ./node_modules/.bin/babel

Shell
npx babel script.js

Mostrar ayuda de uso

Shell
npx babel --help

Compilar archivos

Compila el archivo script.js y envía la salida a stdout.

Shell
npx babel script.js
# output...

Si deseas enviar la salida a un archivo, puedes usar --out-file u -o.

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

Para compilar un archivo cada vez que lo modificas, usa la opción --watch o -w:

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

Compilar con Source Maps

nota

Desde la versión v7.19.3, si este parámetro no se especifica, @babel/cli seguirá los archivos de configuración.

Si luego deseas agregar un archivo source map, puedes usar --source-maps o -s.

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

O, si prefieres source maps en línea, usa --source-maps inline en su lugar.

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

Compilar directorios

Compila todo el directorio src y envíalo al directorio lib usando --out-dir o -d. Esto no sobrescribe otros archivos o directorios en lib.

Shell
npx babel src --out-dir lib

Compila todo el directorio src y envíalo como un único archivo concatenado.

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

Directorios con archivos TypeScript

Usa la opción --extensions para especificar qué extensiones de archivo debe manejar Babel al compilar el directorio src completo. Las --extensions predeterminadas se pueden obtener desde 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

Ignorar archivos

Ignorar archivos spec y de prueba

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

Copiar archivos

Copiar archivos que no se compilarán

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

Si no deseas copiar archivos JavaScript ignorados:

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

Redirección de archivos

Redirige un archivo vía stdin y envíalo a script-compiled.js

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

Usar plugins

Usa la opción --plugins para especificar los plugins a utilizar en la compilación

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

Uso de presets

Utiliza la opción --presets para especificar los presets que se usarán en la compilación.

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

Uso de archivos de configuración

Ignorar .babelrc.json o .babelrc

Ignora la configuración del archivo .babelrc o .babelrc.json del proyecto y utiliza las opciones CLI, por ejemplo para compilaciones personalizadas.

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

Ruta personalizada de configuración

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

Consulta aquí para obtener más información sobre archivos de configuración.

Establecer extensiones de archivo

Agregado en: v7.8.0

Por defecto, el archivo transpilado usará la extensión .js.

Puedes controlar la extensión del archivo de salida con --out-file-extension

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

También puedes preservar la extensión del archivo original con --keep-file-extension

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

Ten en cuenta que --keep-file-extension y --out-file-extension no pueden usarse simultáneamente.

Uso avanzado

Existen muchas más opciones disponibles; consulta opciones, babel --help y otras secciones para más información.