@babel/cli
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.
-
Diferentes proyectos en la misma máquina pueden depender de versiones distintas de Babel, permitiéndote actualizarlas individualmente.
-
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
- Yarn
- pnpm
- Bun
npm install --save-dev @babel/core @babel/cli
yarn add --dev @babel/core @babel/cli
pnpm add --save-dev @babel/core @babel/cli
bun add --dev @babel/core @babel/cli
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
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
npx babel script.js
Mostrar ayuda de uso
npx babel --help
Compilar archivos
Compila el archivo script.js y envía la salida a stdout.
npx babel script.js
# output...
Si deseas enviar la salida a un archivo, puedes usar --out-file u -o.
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:
npx babel script.js --watch --out-file script-compiled.js
Compilar con Source Maps
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.
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.
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.
npx babel src --out-dir lib
Compila todo el directorio src y envíalo como un único archivo concatenado.
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.
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
npx babel src --out-dir lib --ignore "src/**/*.spec.js","src/**/*.test.js"
Copiar archivos
Copiar archivos que no se compilarán
npx babel src --out-dir lib --copy-files
Si no deseas copiar archivos JavaScript ignorados:
History
| Version | Changes |
|---|---|
| v7.8.0 | Added --copy-ignored |
| v7.8.4 | Change copyeIgnored option default to true, it can be disabled by --no-copy-ignored |
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
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
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.
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.
npx babel --no-babelrc script.js --out-file script-compiled.js --presets=@babel/preset-env,@babel/preset-react
Ruta personalizada de configuración
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
npx babel src --out-dir lib --out-file-extension .mjs
También puedes preservar la extensión del archivo original con --keep-file-extension
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.